Groupadd के लिए अनुमत समूह के नाम क्या हैं?


13

मैंने शैडो के निर्माण के लिए इन निर्देशों का पालन ​​किया , जो groupaddकमांड प्रदान करता है । इसे आज़माते समय मुझे एक त्रुटि मिल रही है:

$ groupadd automake1.10
groupadd: 'automake1.10' is not a valid group name

मैंने अल्फ़ान्यूमेरिक नामों की जाँच की, और वे ठीक काम करते हैं।

जवाबों:


20

स्रोत कोड, विशेष रूप से देखें 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
user1686

1
@grawity: यह सिर्फ GNU कोर्यूटिल्स नहीं है, बल्कि समस्या chownस्वयं नहीं है, यह मौजूदा स्क्रिप्ट्स और अन्य प्रोग्राम हैं जो chown $user.$groupइसके बजाय कॉल करते हैं chown $user:$group- भले ही chownकार्यान्वयन सही काम करने की कोशिश करता है, कुछ मामले आंतरिक रूप से अस्पष्ट होते हैं।
गिलेस एसओ- बुराई को रोकना '

1

यदि आप रोमांच महसूस कर रहे हैं, तो आप /etc/groupसीधे संपादित कर सकते हैं और आपको जो भी पसंद हो, समूह में डाल सकते हैं। इसके अलावा, इसमें जोड़ा गया बोनस है कि जब आप उल्लिखित समस्याओं में से एक का सामना करते हैं, तो आप समस्या को ठीक करने के लिए एक संपादक को लोड करने में सक्षम नहीं हो सकते हैं, या यहां तक ​​कि लॉग इन भी कर सकते हैं - आपको एक टूटी हुई प्रणाली को पुनर्प्राप्त करने में मूल्यवान अनुभव दे सकता है!


5
/etc/gshadowसमूह जोड़ते समय संपादित करना न भूलें । इसके अलावा, vigr(8)फ़ाइलों को सीधे संपादित करने के बजाय उपयोग करें।
5
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.