सवाल मैं यूनिक्स उपयोगकर्ता का नाम कैसे बदल सकता हूं?


मेरे पास एक उपयोगकर्ता नाम है hedgehog और मैं उसे नामित करना चाहता हूं squirrel, लेकिन मैं अपनी संख्यात्मक उपयोगकर्ता आईडी को बदलना नहीं चाहता हूं।
मैं यह कैसे हासिल कर सकता हूं?


63
2017-10-11 14:54


मूल


शायद क्योंकि उपयोगकर्ता का नाम बदलना बिल्कुल एक काम नहीं है, एक पेशेवर एसए संघर्ष करेगा। (प्रश्न डाउनवॉट्स के लिए।) - HopelessN00b
@ जेज़नेट I डाउनवॉटेड क्योंकि न केवल यह एक अविश्वसनीय रूप से सरल कार्य है जिसे Google में अपना शीर्षक टाइप करके हल किया जा सकता है, जैसे ही आपने इसे पूछा था, आपने अपने प्रश्न का भी उत्तर दिया। समय की बर्बादी माना जाता है। - boburob
@boburob "जैसे ही आपने इसे पूछा था, आपने अपने स्वयं के प्रश्न का भी उत्तर दिया। समय की बर्बादी देखी गई" कृपया देखें: blog.stackoverflow.com/2011/07/... - Szymon Jeż
@boburob क्या आप उस टिक बॉक्स को देखते हैं जो कहता है Answer your own question – share your knowledge, Q&A-style जब आप एक सवाल पूछते हैं? यह एक कारण के लिए है, और अगर वे नहीं चाहते थे तो वहां नहीं होगा। (आदर्श रूप से बेहतर प्रश्नों पर, लेकिन इस पर ध्यान दिए बिना, किसी को अपने प्रश्न का उत्तर देने के लिए किसी को भी खराब करना बुरा फॉर्म है।) - HopelessN00b
हां, मैंने पहले भी अपने प्रश्न का उत्तर दिया है, लेकिन मेरे लिए एक प्रश्न पूछना और उसी परिणाम में Google परिणाम चिपकाना समय की बर्बादी है - boburob


जवाब:


लिनक्स के तहत, usermod आदेश उपयोगकर्ता नाम बदलता है। यह कमांड लाइन पर निर्दिष्ट परिवर्तनों को प्रतिबिंबित करने के लिए सिस्टम खाता फ़ाइलों को संशोधित करता है।

उपयोगकर्ता नाम बदलने के लिए:

usermod --login new_username old_username

उपयोगकर्ता नाम और घर निर्देशिका नाम बदलने के लिए:

usermod --login new_username --move-home --home /new/home/dir old_username

आप उपयोगकर्ता से जुड़े समूह का नाम भी बदलना चाहते हैं:

groupmod --new-name new_username old_username

99
2017-10-11 14:54



आप पूरी चीज usermod -l-user-name-m -d / new / home / dir old-user-name करने के लिए usermod का उपयोग कर सकते हैं - Iain
@Iain धन्यवाद। मैं इसे प्रतिबिंबित करने के लिए अपना उत्तर बढ़ा दूंगा। बीटीडब्ल्यू यही कारण है कि मैंने इस "मामूली" प्रश्न से पूछा - एक ऐसा उत्तर प्राप्त करने के लिए जो मेरे से बेहतर है (और क्योंकि मैं इसे पहले से ही एसएफ में नहीं ढूंढ पाया)। - Szymon Jeż
यह भी ध्यान रखें कि समूह या तो नहीं बदला गया है। अगर आपको नाम बदलने की जरूरत है old-user-name समूह भी, उपयोग करें # groupmod -n new-user-name old-user-name। - alxs
सिस्टम का उपयोग करने के लिए autofs, आपको भी अपडेट करना चाहिए /etc/auto.home। मैं बस इसमें भाग गया। - Steven C. Howell
लागू होने पर सूडोर्स सूची में नया उपयोगकर्ता नाम डालने के लिए फिर से विसुडो को चलाने की ज़रूरत है - Nagev


ध्यान दें: अगर आपकी निर्देशिका एन्क्रिप्ट की गई है तो इसे आजमाएं! यदि यह आपका मामला है तो आप पहले जांचना चाहेंगे: https://askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder

ऐसा करने का सीधा तरीका यह है:

  1. सुडो अधिकारों के साथ एक नया अस्थायी खाता बनाएं:

    sudo adduser temp
    sudo adduser temp sudo
    
  2. अपने चालू खाते से लॉग इन करें और अस्थायी खाते के साथ वापस आएं।

  3. अपना उपयोगकर्ता नाम और निर्देशिका का नाम बदलें:

    sudo usermod -l new-username -m -d /home/new-username old-username
    
  4. अपना उपयोगकर्ता नाम डिफ़ॉल्ट समूह का नाम बदलें:

    sudo groupmod -n new-username old-username
    
  5. अस्थायी खाते से लॉग आउट करें और नए-उपयोगकर्ता नाम के साथ अपने खाते में वापस लॉग इन करें।

  6. अस्थायी खाता निकालें:

    sudo userdel -r temp
    

अन्यथा, आप बस (1) एक नया उपयोगकर्ता बनाते हैं और (2) rsync पुराने उपयोगकर्ता घर फ़ोल्डर नए और फिर (3) chown यह।


7
2017-12-18 16:49





आम तौर पर आप उपयोगकर्ता नाम बदलकर उपयोगकर्ता का नाम बदल सकते हैं /etc/passwd (तथा /etc/shadow, यदि लागू हो) फ़ाइलें। अधिकांश यूनिक्स सिस्टम पर vipw कमांड का उपयोग इन फ़ाइलों को संपादित करने के लिए किया जाता है (और कई प्रणालियों में यह सुनिश्चित करने के लिए कुछ सुरक्षा उपाय शामिल हैं कि आप गड़बड़ चीजों को बहुत बुरी तरह से नहीं करते हैं)।
के लिए मैन पेज देखें passwd(5), shadow(5), तथा vipw(8) अधिक जानकारी के लिए।

ध्यान दें कि उपर्युक्त विधि अन्य चीजों का नाम नहीं देती है जो मूल उपयोगकर्ता नाम (होम निर्देशिका प्रमुख उदाहरण हैं, प्रति उपयोगकर्ता व्यक्तिगत समूह (उन प्रणालियों पर जो उन्हें उपयोग करते हैं) एक दूसरे होने का कारण बनती हैं)। आप passwd फ़ाइल में उपयुक्त फ़ील्ड को बदलकर और निर्देशिकाओं का नाम बदलकर, स्थिरता के लिए इन्हें भी साफ करना चाह सकते हैं।


कई ऑपरेटिंग सिस्टम उपयोगकर्ताओं को नाम बदलने का एक सिस्टम-विशिष्ट तरीका प्रदान करते हैं। उदाहरण के लिए कई लिनक्स सिस्टम में शामिल हैं usermod(8) आदेश, और AIX पर आप खाते का नाम बदलकर बदल सकते हैं एसएमआईटी (या smitty एक टर्मिनल में)
यदि आप उनसे पूछते हैं, तो ये आदेश अक्सर होम निर्देशिकाओं का नाम बदलने जैसी सफाई वस्तुओं को संभाल लेंगे।


4