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

कुछ समय पहले, जब मैंने उबंटू स्थापित किया, तो मैंने अपने खाते के लिए एक बेवकूफ उपयोगकर्ता नाम चुना जिसे मैं अब और उपयोग नहीं करना चाहता ।

अनुप्रयोगों के लिए सेटिंग्स खोए बिना मैं इसे कैसे बदलूं (मेरी होम डायरेक्टरी का नाम और टर्मिनल में नाम सहित)?
मैं विभिन्न प्रमाणीकरण (जैसे ईमेल, एसएसएच, जीपीजी और अधिक) के लिए अनुमतियां और मेरी चाबियाँ कैसे रखूं?
यदि मैंने अपना उपयोगकर्ता नाम बदल दिया तो संभवतः कौन सी सेटिंग्स खो सकती हैं?

यूनिक्स जैसे ऑपरेटिंग सिस्टम उपयोगकर्ता नाम को उपयोगकर्ता पहचान से अलग कर देते हैं, इसलिए आप आईडी को प्रभावित किए बिना सुरक्षित रूप से नाम बदल सकते हैं । सभी अनुमतियां, फाइलें आदि आपकी पहचान (यूआईडी) से जुड़ी हैं, न कि आपके उपयोगकर्ता नाम से ।

उपयोगकर्ता डेटाबेस के हर पहलू का प्रबंधन करने के लिए, आप का उपयोग करें usermod उपकरण।

उपयोगकर्ता नाम बदलने के लिए (लॉग इन किए बिना ऐसा करना शायद सबसे अच्छा है):

sudo usermod -l newUsername oldUsername

हालाँकि, यह होम फ़ोल्डर का नाम नहीं बदलता है ।

होम-फ़ोल्डर बदलने के लिए, उपयोग करें

sudo usermod -d /home/newHomeDir -m newUsername

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

उदाहरण के लिए, आप लॉगआउट कर सकते हैं, कंसोल पर ड्रॉप कर सकते हैं (Ctrl+Alt+F1), और sudo su - सच जड़ बनने के लिए (के विपरीत sudo -s, जहां $घर अभी भी/घर / आपका नाम है । ) हो सकता है कि आपको पहले इस उपयोगकर्ता से कुछ अभी भी चल रही प्रक्रियाओं को मारना पड़े । ऐसा करने के लिए, दर्ज करें ps -u username, मिलान पीआईडी की तलाश करें और उन्हें मार दें kill PID-number.

अद्यतन: जैसा कि उल्लेख किया गया है, कुछ फाइलें आपकी पुरानी होम निर्देशिका का संदर्भ दे सकती हैं । आप या तो पिछड़े संगतता के लिए एक सिमलिंक रख सकते हैं, उदाहरण के लिए ln -s /home/newname /home/oldname या आप फ़ाइल सामग्री को इसके साथ बदल सकते हैं sed -i.bak 's/*oldname*/*newname*/g' *list of files* यह एक साथ प्रत्येक फ़ाइल के लिए एक बैकअप बनाता है .bak एक्सटेंशन.

मेरे जैसे अनुभवी उपयोगकर्ताओं के लिए कुछ अतिरिक्त जानकारी नहीं:
जैसा कि मेरे पास केवल एक उपयोगकर्ता खाता (व्यवस्थापक) है, यह मुझे उपयोगकर्ता नाम बदलने नहीं देगा ("आप पहले से लॉग इन हैं" टीटीवाई 1 में प्रतिक्रिया थी (Ctrl+Alt+F1). इस के आसपास पाने के लिए:

  1. अपने पुराने क्रेडेंशियल्स के साथ लॉगिन करें और एक नया उपयोगकर्ता जोड़ें, उदाहरण के लिए टीटीवाई 1 में "अस्थायी" :

    sudo adduser temporary

    पासवर्ड सेट करें ।

  2. अस्थायी उपयोगकर्ता को उपयोगकर्ता को सुडो समूह में जोड़कर सुडो चलाने की अनुमति दें:

    sudo adduser temporary sudo
  3. कमांड के साथ लॉग आउट करें exit.
  4. टीटीवाई 1 पर लौटें: 'अस्थायी' उपयोगकर्ता खाते और पासवर्ड के साथ लॉगिन करें । ऊपर बताए अनुसार अपना उपयोगकर्ता नाम और फ़ोल्डर बदलें । exit (जब तक आपको लॉगिन प्रॉम्प्ट नहीं मिलता)
  5. टीटीवाई 7 पर वापस जाएं (Ctrl+Alt+F7) जीयूआई/सामान्य डेस्कटॉप स्क्रीन पर लॉगिन करने के लिए और देखें कि क्या यह काम करता है ।
  6. अस्थायी उपयोगकर्ता और फ़ोल्डर हटाएं:

    sudo deluser temporarysudo rm -r /home/temporary

यह सब एक साथ रखा:

  1. अपने सत्र से लॉग आउट करें या प्रारंभ स्क्रीन पर वापस जाने के लिए अपने कंप्यूटर को पुनरारंभ करें ।

  2. प्रारंभ स्क्रीन पर एक कंसोल मोड ट्टी पर जाएं । प्रेस Ctrl+Alt+F1 (कुछ उबंटू संशोधनों पर यह हो सकता है Ctrl+Alt+F2 इसके बजाय)

  3. अपने उपयोगकर्ता नाम और पासवर्ड का उपयोग करके लॉग इन करें ।

  4. के लिए एक पासवर्ड सेट "जड़ में" खाता है ।

     sudo passwd root
  5. लॉग आउट करें ।

     exit
  6. रूट और खाता और आपके द्वारा पहले सेट किए गए पासवर्ड का उपयोग करके लॉग इन करें ।

  7. उपयोगकर्ता नाम और होम फ़ोल्डर को उस नए नाम में बदलें जिसे आप चाहते हैं ।

     usermod -l <newname> -d /home/<newname> -m <oldname>
  8. समूह का नाम उस नए नाम में बदलें जिसे आप चाहते हैं ।

     groupmod -n <newgroup> <oldgroup>
  9. लॉक "जड़ में" खाता है ।

     passwd -l root
  10. यदि आप ईक्रिप्टएफएस (एन्क्रिप्टेड होम डायरेक्टरी) का उपयोग कर रहे थे । का उपयोग कर अपने एन्क्रिप्टेड निर्देशिका माउंट ecryptfs-recover-private और संपादित करें <mountpoint>/.ecryptfs/Private.mnt अपनी नई होम निर्देशिका को प्रतिबिंबित करने के लिए ।

  11. लॉग आउट करें ।

    exit
  12. प्रेस Ctrl+Alt+F7 उबंटू ग्राफिक्स मोड लॉगिन स्क्रीन पर वापस जाने के लिए (कुछ उबंटू संशोधनों पर यह हो सकता है Ctrl+Alt+F1).

और अब आप अपने नए उपयोगकर्ता नाम का उपयोग करके लॉग इन कर सकते हैं ।

पुनर्प्राप्ति मोड में पुनरारंभ करें और रूट प्रॉम्प्ट शेल पर जाएं ("ड्रॉप टू रूट शेल प्रॉम्प्ट")

पहले रूट को रिमाउंट करें

mount -o remount,rw /

उपयोगकर्ता नाम और होम फ़ोल्डर का नाम बदलने के लिए,

usermod -l <newname> -d /home/<newname> -m <oldname>

समूह के नाम के लिए,

groupmod -n <newgroup> <oldgroup>

उबंटू 13.10, 14.04, 16.04 पर:

  1. "सिस्टम सेटिंग्स" आइकन पर क्लिक करें ।
  2. "उपयोगकर्ता खाते"पर क्लिक करें ।
  3. आपका व्यवस्थापक खाता प्रदर्शित होना चाहिए ।
  4. "अनलॉक" बटन पर क्लिक करें ।
  5. अपने खाते में परिवर्तन की अनुमति देने के अनुरोध के अनुसार अपना उपयोगकर्ता पासवर्ड दर्ज करें ।
  6. एक बार अनलॉक होने के बाद, आप अपने पुराने उपयोगकर्ता नाम पर क्लिक कर सकते हैं जिसे आप बदलना चाहते हैं और इसे बदलने के लिए एक नया उपयोगकर्ता नाम टाइप करें ।
  7. जब आप नया नाम टाइप कर लें, तो परिवर्तन को स्थायी बनाने के लिए "लॉक" बटन पर क्लिक करें ।
  8. पुनः आरंभ Ubuntu.

प्राप्त करते समय usermod: can't change /etc/password बस निम्नलिखित आदेश चलाएं:

रूट रिकवरी कंसोल रन में:

mount -o remount,rw /

फिर फिर से दौड़ना:

usermod -l <newname> -d /home/<newname> -m <oldname>

जब आप करते हैं usermod -l <newname> -d /home/<newname> -m <oldname> आपको मिलेगा useradd: can't change /etc/passwd इससे बचने के लिए त्रुटि संदेश बस जोड़ें sudo -- उपरोक्त आदेश की तरह

sudo -- usermod -l <newname> -d /home/<newname> -m <oldname>

और

sudo --  groupmod -n <newgroup> <oldgroup>

@कार्तिक 87 द्वारा यहां सूचीबद्ध उत्तर पूरी तरह से ठीक काम करता है लेकिन यहां मैं सुरक्षित रहने और सभी ग्लिच से बचने के लिए क्या करूंगा:

  1. एक अलग खाता/उपयोगकर्ता बनाएं और सुनिश्चित करें कि यह खाता/उपयोगकर्ता रूट क्षमताएं या किसी रूट-सक्षम उपयोगकर्ता के रूप में लॉगिन करें ।
  2. चालू खाते से लॉगआउट करें और फिर चरण 1 में उल्लिखित खाते से लॉगिन करें ।
  3. पिछले उपयोगकर्ता की सभी प्रक्रियाओं को मार डालो ।
  4. अब @कार्तिक 87 द्वारा बताए गए चरणों का पालन करें और उपयोगकर्ता नाम और होम डायरेक्टरी के मालिक को भी बदलें ।
  5. फिर समूह का नाम बदलने के लिए @श्रीराज हेब्बार के उत्तर का पालन करें ।
  6. अतिरिक्त उपयोगकर्ता के साथ लॉगआउट करें और अपने उपयोगकर्ता के साथ लॉगिन करें । यदि आपने एक अतिरिक्त उपयोगकर्ता बनाया है तो इसे हटा दें ।

चूंकि सभी लिन्यूज़ नहीं हैं (हालांकि Ubuntu यह होना चाहिए) है usermod ऐप, आप इसे मैन्युअल रूप से कर सकते हैं । रूट ओपन के रूप में /etc/passwd के साथ संपादित करने के लिए vim या सिस्टम में मौजूद कोई अन्य संपादक:

sudo vim /etc/passwd

और एक लाइन की शुरुआत में उपयोगकर्ता का नाम बदलें:

user:x:500:501:username:home/user:/bin/bash

को:

newuser:x:500:501:username:home/user:/bin/bash

फिर यदि आपने रूट का काम किया है तो बस लॉगिन करें, और यदि आपको एक के रूप में लॉग इन किया गया है उपयोगकर्ता, logoff, और दोबारा लॉगिन.

बेशक आपको ठीक करना होगा /आदि / छाया, तथा /आदि / समूह इसके अलावा सिस्टम ठीक से काम करता है । Thanx करने के लिए @JohanBoulé

नोट: सिस्टम को तोड़ने के लिए आपको इस दृष्टिकोण का सावधानीपूर्वक उपयोग करना चाहिए ।

नोट: इस दृष्टिकोण आम है, न केवल के लिए Ubuntu और ubuntu के लिए यह काम करेगा, लेकिन google खोज करेंगे यह दिखाने के लिए घटना के लिए गैर ubuntu खोज के लिए, उदाहरण के लिए एम्बेडेड लिनक्स

हम /यूएसआर/शेयर/एप्लिकेशन/उपयोगकर्ताओं पर नेविगेट क्यों नहीं कर सकते । डेस्कटॉप > > उस उपयोगकर्ता पर क्लिक करें जिसके लिए नाम बदलना होगा । >> उपयोगकर्ता नाम बदलें पर क्लिक करें >> नाम बदलें > > ओके पर क्लिक करें । मुझे लगता है, यह उपयोगकर्ता नाम बदलने का सबसे आसान तरीका होगा, है ना?