Vraag Hoe verander ik mijn gebruikersnaam?


Enige tijd geleden, toen ik Ubuntu installeerde, koos ik een nogal stomme gebruikersnaam voor mijn account die ik niet meer wil gebruiken.

Hoe verander ik dit (inclusief de naam van mijn thuismap en de naam in de terminal) zonder de instellingen voor applicaties te verliezen?
Hoe houd ik machtigingen en mijn sleutels bij voor verschillende authenticaties (zoals e-mail, SSH, GPG en meer)?
Welke instellingen kunnen mogelijk verloren gaan als ik mijn gebruikersnaam verander?


262
2018-04-08 08:25


oorsprong




antwoorden:


Unix-achtige besturingssystemen ontkoppelen de gebruikersnaam van de gebruikersidentiteit, dus u kunt de naam veilig wijzigen zonder de ID te beïnvloeden. Alle machtigingen, bestanden, etc zijn gebonden aan uw identiteit (uid), niet uw gebruikersnaam.

Om elk aspect van de gebruikersdatabase te beheren, gebruikt u de usermod tool.

Om de gebruikersnaam te veranderen (het is waarschijnlijk het beste om dit te doen zonder ingelogd te zijn):

sudo usermod -l newUsername oldUsername

Hiermee wordt de thuismap echter niet hernoemd.

Als u de thuismap wilt wijzigen, gebruikt u

sudo usermod -d /home/newHomeDir -m newUsername

nadat je de gebruikersnaam hebt gewijzigd.

U kunt bijvoorbeeld uitloggen, naar een console gaan (Ctrl+alt+F1), en sudo su - om ware wortel te worden (in tegenstelling tot sudo -s, waarbij $ HOME nog steeds / home / uw naam is.) Misschien moet u ook eerst enkele nog draaiende processen van deze gebruiker doden. Om dit te doen, voert u in ps -u username, zoek naar de bijpassende PID en dood ze door kill PID-number.

Update: zoals vermeld, kunnen sommige bestanden verwijzen naar uw oude homedirectory. U kunt een symlink bewaren voor achterwaartse compatibiliteit, bijv ln -s /home/newname /home/oldname of je kunt de bestandsinhoud wijzigen met sed -i.bak 's/*oldname*/*newname*/g' *list of files* Het maakt een back-up voor elk bestand met de extensie .bak.

Wat extra informatie voor niet zo ervaren gebruikers zoals ik:
Aangezien ik maar ÉÉN gebruikersaccount (beheerder) heb, kan ik hiermee de gebruikersnaam niet wijzigen ("u bent al aangemeld" was het antwoord in TTY1 (Ctrl+alt+F1). Om dit te omzeilen:

  1. Log in met je oude inloggegevens en voeg een nieuwe gebruiker toe, bijvoorbeeld "tijdelijk" in TTY1:

    sudo adduser temporary
    

    stel het wachtwoord in.

  2. Sta de tijdelijke gebruiker toe om sudo uit te voeren door de gebruiker toe te voegen aan sudo-groep:

    sudo adduser temporary sudo
    
  3. Uitloggen met het commando exit.
  4. Ga terug naar tty1: log in met het 'tijdelijke' gebruikersaccount en wachtwoord. Wijzig uw gebruikersnaam en map zoals hierboven vermeld. exit (totdat je de login prompt krijgt)
  5. Ga terug naar TTY7 (Ctrl+alt+F7) om in te loggen op het GUI / normale bureaubladscherm om te zien of dit werkt.
  6. Verwijder tijdelijke gebruiker en map:

    sudo deluser temporary
    sudo rm -r /home/temporary
    

257
2018-04-08 08:48



Dit is helaas niet het geval voor verschillende configuratiebestanden onder $ HOME, probeer zoiets uit te voeren grep -IRFl /home/username ~ en u zult zien hoeveel verwijzingen naar uw homedirectory daar worden opgeslagen. - arrange
Was een eenvoudige oplossing - moest de User Accounts-editor in één keer gebruiken, gevolgd door herstarten. - Steve Koch
Voor degenen met een gecodeerde thuismap, moet je deze bewerken /home/.ecryptfs/oldusername/.ecryptfs/Private.mnt om naar je nieuwe thuismap te wijzen, anders kun je niet inloggen via Unity. - raphael
sudo usermod -d /home/edge -m edge opbrengsten: usermod: Directory /home/empedokles could not be renamed in /home/edge dat wil zeggen stap 4 zal niet werken. - empedokles
@JTC nooit Bewerk sudoers met duidelijke nano. Gebruik altijd visudo. - styrofoam fly


Om het allemaal samen te stellen:

  1. Druk in het startscherm op Ctrl+alt+F1.
  2. Log in met uw gebruikersnaam en wachtwoord.
  3. Stel een wachtwoord in voor het "root" -account.

    sudo passwd root
    
  4. Uitloggen.

    exit
    
  5. Log in met het "root" -account en het wachtwoord dat u eerder hebt ingesteld.

  6. Verander de gebruikersnaam en de thuismap naar de nieuwe naam die u wilt.

    usermod -l <newname> -d /home/<newname> -m <oldname>
    
  7. Wijzig de groepsnaam in de nieuwe naam die u wilt.

    groupmod -n <newgroup> <oldgroup>
    
  8. Vergrendel het "root" -account.

    passwd -l root
    
  9. Als u ecryptfs (versleutelde basismap) gebruikt. Monteer je gecodeerde map met behulp van ecryptfs-recover-privateen bewerken <mountpoint>/.ecryptfs/Private.mnt om je nieuwe homedirectory weer te geven.

  10. Uitloggen.

    exit
    
  11. druk op Ctrl+alt+F7.

En nu kunt u inloggen met uw nieuwe gebruikersnaam.


90
2017-07-06 09:43



Als na usermod -l  je krijgt een user <oldname> is currently used by process <processno>, je kunt dat proces (waarschijnlijk een daemon of tmux / scherm) vinden met ps aux | grep <processno>. Misschien wil je dat proces netjes stoppen, anders kun je dat kill <processno>. - RedPixel
Bedankt voor het samenvoegen van deze opmerking. Het was erg handig. Twee dingen die misschien worden genoemd. Na stap 4 startte ik opnieuw, dus ik kreeg geen foutmeldingen bij stap 6. Ook nadat dit proces is voltooid, zal het bestand / etc / passwd een ID-opmerking hebben die overeenkomt met de oude gebruikersnaam. Dit zorgt ervoor dat het inlogscherm de oude loginnaam weergeeft. Ik kon geen fatsoenlijke manier vinden om het te repareren vanaf de opdrachtregel, maar ik heb het opgelost door in te loggen op het gebruikersaccount, naar de accountinstellingen te gaan en de "Aanmeldingsnaam" naar de gebruikersnaam te wijzigen. Dit heeft het bestand / etc / passwd bijgewerkt en het probleem verholpen. - Jibbers
Dit is de eenvoudigste en meest fool-proof manier om het te doen. Het is beter om opnieuw op te starten na stap 4, zoals door @Jibbers is gesuggereerd. - Yerke
Ik zou vermelden dat de "bladwijzers in de vensters van de bestandsbrowser" nu naar de oude mappen verwijzen, dus ik moet die bladwijzers verwijderen. - ollydbg23
Zal niet werken. Als u in het begin op Ctrl + Alt + F1 drukt, probeert deze zich aan te melden bij de nieuw aangemaakte gebruiker die hij niet toestaat. - empedokles


Start opnieuw op in de herstelmodus en ga naar de rootpromptshell ("Drop to root shell prompt")

Eerste keer de wortel opnieuw

mount -o remount,rw /

Om de gebruikersnaam en de naam van de thuismap te wijzigen,

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

Voor groepsnaam,

groupmod -n <newgroup> <oldgroup>

24
2018-04-08 09:23



wanneer ik gebruik usermod -l <newname> -d /home/<newname> -m <oldname> dit geeft me fout usermod: user oldusername is currently used by process 3170 en als ik het proces nog steeds dood, geeft het me dezelfde fout. met behulp van ubuntu 13.10 - Waqas
DOE DIT NIET ALS UW HUISDIRECTORY IS VERSLEUTELD !!!! Ik volgde deze procedure en stuurde me voor een wilde rit van 2 uur ... De enige manier om te herstellen is om deze procedure opnieuw uit te voeren en de originele (niet-gewenste) naam weer in te voeren. Het probleem dat je hebt is "Kan niet chdir in mount punt" - Mike


(Gebruikmakend van Ubuntu 13.10, 14.04, 16.04) Klik op het pictogram "Systeeminstellingen". Klik vervolgens op "Gebruikersaccounts". Uw beheerdersaccount moet worden weergegeven. Klik op de knop "Ontgrendelen". Voer uw gebruikerswachtwoord in zoals gevraagd om wijzigingen in uw account toe te staan. Eenmaal ontgrendeld, kunt u klikken op uw oude gebruikersnaam die u wilt wijzigen en een nieuwe gebruikersnaam invoeren om deze te vervangen. Wanneer u de nieuwe naam hebt ingevoerd, klikt u op de knop "Vergrendelen" om de wijziging permanent te maken. Start Ubuntu opnieuw.


10
2017-07-07 22:45



Dit heeft de gebruikersnaam voor mij niet veranderd, alleen de naam. De oude gebruikersnaam verschijnt nog steeds in de terminal en als de hoofddirectory en groep (zelfs na opnieuw opstarten). - DougC


Bij ontvangst usermod: can't change /etc/password voer gewoon de volgende opdrachten uit:

In de run van de root-herstelconsole:

mount -o remount,rw /

Voer vervolgens opnieuw uit:

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

3
2017-07-30 12:14





wanneer je dat doet usermod -l <newname> -d /home/<newname> -m <oldname> je zult krijgen useradd: can't change /etc/passwd foutmelding om dit te voorkomen, voeg gewoon toe sudo -- naar boven bevelen zoals

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

en

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

0
2017-08-06 06:12





Omdat niet alle pc's de usermod app kun je dit handmatig doen. Vanaf de root open /etc/passwd aanpassen:

sudo vim /etc/passwd

en verander de gebruikersnaam aan het begin van een regel:

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

naar:

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

dan als je van root werkte, gewoon inloggen, en als je bent ingelogd useruitloggen en opnieuw inloggen.


-3
2017-12-16 13:15



Ik probeerde het op deze manier (voordat ik het ontdekte usermod opdracht) en het wachtwoord van de gebruiker wordt niet langer geaccepteerd. - Ben Voigt
@BenVoigt niet alle pc's hebben de usermod - Малъ Скрылевъ
Het is Ubuntu! Als het niet heeft usermod uw installatie is verbroken omdat deze deel uitmaakt van de passwd pakket, dat is verplicht. - Auspex