एक आधुनिक प्रणाली पर (पूर्ण-यूनिकोड समर्थन के साथ), यह एक समस्या नहीं होनी चाहिए - "नहीं" पर जोर देने के साथ। जैसा कि उस उत्तर में उद्धृत है,
डिफ़ॉल्ट है NAME_REGEX="^[a-z][-a-z0-9]*\$"
यद्यपि यह वर्तमान प्रणालियों के लिए अत्यधिक सख्त हो सकता है, यह आसान प्रशासन के लिए बनाता है - जैसा कि, "चिंता करने के लिए एक कम चीज"। ध्यान दें कि उपयोगकर्ता नाम कई स्थानों पर उपयोग किया जाता है - उदाहरण के लिए आपके घर की निर्देशिका संभवतः फॉर्म की होगी /home/username
; अधिकांश समझदार फाइल सिस्टम में पूर्ण यूनिकोड समर्थन होता है, लेकिन जैसा कि कंप्यूटर से संबंधित है, सभी परिस्थितियों में पवित्रता की गारंटी नहीं है।
ध्यान दें कि सिस्टम द्वारा उपयोग किया जाने वाला वास्तविक लॉगिन नाम है (जो इन नियमों के अंतर्गत आता है), एक UID में मैप किया गया है /etc/passwd
, और वहाँ "पूर्ण नाम" है, जो एक स्ट्रिंग है (और सबसे वैध वर्ण दर्ज किए जा सकते हैं, हालांकि इसमें एक है "गैर-एएससीआईआई" चेतावनी)।
क्या करें: जहां लागू हो, मैं उपयोगकर्ता नाम के लिए बिना डायटिक्टिक्स (या गैर-लैटिन लिपियों के मामले में) का उपयोग करता हूं, और पूर्ण नाम के लिए वास्तविक रूप। आपके / etc / passwd में प्रविष्टि इस तरह दिखाई दे सकती है:
martrang:x:1001:1001:Märt Rang,,,:/home/martrang:/bin/bash