Lihat kode sumber, secara khusus libmisc/chkname.c
. Bayangan cukup konservatif: nama harus cocok dengan regexp [_a-z][-0-9_a-z]*\$?
dan mungkin paling GROUP_NAME_MAX_LENGTH
panjang karakter (opsi konfigurasi, default 16; nama pengguna biasanya bisa naik hingga 32 karakter, tergantung pada penentuan waktu kompilasi).
Debian banyak bersantai. Pada pemerasan, apa pun kecuali spasi dan :
diizinkan. Lihat bug # 264879 dan bug # 377844 .
POSIX membutuhkan huruf yang memungkinkan dari kedua case, digit dan ._-
( seperti dalam nama file ). POSIX tidak menetapkan batasan apa pun jika Anda tidak peduli tentang portabilitas. Sejumlah batasan yang disarankan berasal dari penggunaan:
- Titik dua, baris baru dan nol sama sekali keluar; Anda tidak bisa menggunakannya di
/etc/passwd
atau /etc/group
.
- Nama yang hanya terdiri dari digit adalah ide yang buruk -
chown
dan chgrp
seharusnya memperlakukan urutan digit sebagai nama jika berada dalam basis data pengguna / grup, tetapi aplikasi lain dapat memperlakukan nomor apa pun sebagai id numerik.
- Inisial
-
atau .
dalam nama pengguna sangat tidak disarankan, karena banyak aplikasi berharap dapat beralih $user.$group
ke utilitas eksternal (misalnya chown $user.$group /path/to/file
) ¹. A .
dalam nama grup seharusnya tidak terlalu merepotkan, tetapi saya tetap merekomendasikan untuk tidak melakukannya.
/
kemungkinan akan menimbulkan masalah juga, karena beberapa program berharap dapat menggunakan nama pengguna dalam nama file.
- Karakter apa pun yang akan diperluas shell mungkin berisiko.
- Karakter non-ASCII harus ok jika Anda tidak peduli berbagi dengan sistem yang mungkin menggunakan pengkodean yang berbeda.
Expect Semua implementasi modern mengharapkan chown $user:$group
, tetapi mendukung chown $user.$group
kompatibilitas mundur, dan ada terlalu banyak aplikasi di luar sana yang melewati titik untuk menghapus dukungan kompatibilitas itu.
chown
Argumen ulang : sintaks saat ini, setidaknya dalam GNU coreutils, adalahuser:group
, dengan titik yang diterima hanya untuk kompatibilitas. Orang bisa menggunakanj.smith:j.smith
.