स्रोत कोड, विशेष रूप से देखें libmisc/chkname.c
। छाया काफी रूढ़िवादी है: नाम regexp से मेल खाना चाहिए [_a-z][-0-9_a-z]*\$?
और अधिकांश GROUP_NAME_MAX_LENGTH
वर्णों पर लंबे हो सकते हैं (कॉन्फ़िगर विकल्प, डिफ़ॉल्ट 16; उपयोगकर्ता नाम आमतौर पर 32 वर्णों तक जा सकते हैं, संकलन-समय निर्धारण के अधीन)।
डेबियन ने चेक को बहुत आराम दिया। निचोड़ के रूप में, कुछ भी लेकिन व्हॉट्सएप और :
अनुमति है। देखें बग # 264,879 और बग # 377,844 ।
POSIX को किसी भी स्थिति, अंकों और ._-
( जैसे फ़ाइल नामों में ) के पत्रों की अनुमति की आवश्यकता होती है । यदि आप पोर्टेबिलिटी की परवाह नहीं करते हैं, तो POSIX कोई प्रतिबंध नहीं लगाता है। अनुशंसित प्रतिबंधों की संख्या उपयोग से आती है:
- Colons, newlines और nulls अभी बाहर हैं; तुम सिर्फ उन में उपयोग नहीं कर सकते
/etc/passwd
या /etc/group
।
- पूरी तरह से अंकों से मिलकर बना एक नाम एक बुरा विचार है -
chown
और chgrp
माना जाता है कि यदि उपयोगकर्ता / समूह डेटाबेस में कोई अंक अनुक्रम के रूप में माना जाता है, लेकिन अन्य अनुप्रयोग किसी भी संख्या को संख्यात्मक आईडी के रूप में मान सकते हैं।
- उपयोगकर्ता नाम में एक प्रारंभिक
-
या एक .
की दृढ़ता से अनुशंसा नहीं की जाती है, क्योंकि कई एप्लिकेशन $user.$group
बाहरी उपयोगिता (जैसे chown $user.$group /path/to/file
) to को पारित करने में सक्षम होने की उम्मीद करते हैं । एक .
समूह के नाम में कम परेशानी का कारण होना चाहिए, लेकिन मैं अभी भी इसके खिलाफ सिफारिश करूंगा।
/
के कारण परेशानी होने की संभावना है, क्योंकि कुछ प्रोग्राम फ़ाइल नामों में उपयोगकर्ता नामों का उपयोग करने में सक्षम होने की उम्मीद करते हैं।
- कोई भी वर्ण जो शेल का विस्तार करेगा वह संभवतः जोखिम भरा है।
- यदि आप विभिन्न एन्कोडिंग का उपयोग करने वाली प्रणालियों के साथ साझा करने के बारे में परवाह नहीं करते हैं तो गैर- ASCII वर्ण ठीक होना चाहिए।
Ward सभी आधुनिक कार्यान्वयन उम्मीद करते हैं chown $user:$group
, लेकिन chown $user.$group
पिछड़े अनुकूलता के लिए समर्थन करते हैं, और ऐसे कई अनुप्रयोग हैं जो उस संगतता समर्थन को हटाने के लिए एक डॉट पास करते हैं।
chown
तर्क: वर्तमान वाक्य रचना, कम से कम GNU coreutils में, हैuser:group
, डॉट के साथ ही संगतता के लिए स्वीकार कर लिया जा रहा है। एक का उपयोग कर सकते हैंj.smith:j.smith
।