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_LENGTHpanjang 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/passwdatau /etc/group.
- Nama yang hanya terdiri dari digit adalah ide yang buruk -
chowndan chgrpseharusnya 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.$groupke 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.$groupkompatibilitas mundur, dan ada terlalu banyak aplikasi di luar sana yang melewati titik untuk menghapus dukungan kompatibilitas itu.
chownArgumen ulang : sintaks saat ini, setidaknya dalam GNU coreutils, adalahuser:group, dengan titik yang diterima hanya untuk kompatibilitas. Orang bisa menggunakanj.smith:j.smith.