Wie ändere ich meinen Benutzernamen?

261

Vor einiger Zeit, als ich Ubuntu installiert habe, habe ich einen ziemlich dummen Benutzernamen für mein Konto gewählt, den ich nicht mehr verwenden möchte.

Wie kann ich dies ändern (einschließlich des Namens meines Home-Verzeichnisses und des Namens im Terminal), ohne die Einstellungen für Anwendungen zu verlieren?
Wie behalte ich Berechtigungen und meine Schlüssel für verschiedene Authentifizierung (z. B. E-Mail, SSH, GPG und mehr)?
Welche Einstellungen könnten möglicherweise verloren gehen, wenn ich meinen Benutzernamen ändere?

    
Takkat 08.04.2011, 10:25

7 Antworten

256

Unix-ähnliche Betriebssysteme entkoppeln den Benutzernamen von der Benutzeridentität, so dass Sie den Namen sicher ändern können, ohne die ID zu beeinflussen. Alle Berechtigungen, Dateien usw. sind an Ihre Identität (uid) gebunden, nicht an Ihren Benutzernamen.

Um jeden Aspekt der Benutzerdatenbank zu verwalten, verwenden Sie das Tool usermod .

Um den Benutzernamen zu ändern (am besten ohne Anmeldung):

sudo usermod -l newUsername oldUsername

Dies ändert jedoch nicht den Home-Ordner.

Um den Heimatordner zu ändern, verwenden Sie

sudo usermod -d /home/newHomeDir -m newUsername

nachdem Sie den Benutzernamen geändert haben.

Sie können sich beispielsweise abmelden, auf eine Konsole ( Strg + Alt + F1 ) und sudo su - setzen, um true zu werden root (im Gegensatz zu sudo -s , wobei $ HOME immernoch / home / ihrname ist). Möglicherweise müssen Sie auch einige noch laufende Prozesse von diesem Benutzer beenden. Geben Sie dazu ps -u username ein, suchen Sie nach der passenden PID und löschen Sie sie um kill PID-number .

Update: Wie bereits erwähnt, können einige Dateien auf Ihr altes Home-Verzeichnis verweisen. Sie können entweder einen Symlink für die Abwärtskompatibilität beibehalten, zB ln -s /home/newname /home/oldname , oder Sie können den Dateiinhalt mit sed -i.bak 's/*oldname*/*newname*/g' *list of files* ändern. Er erstellt eine Sicherung für jede Datei mit der Erweiterung .bak.

Einige zusätzliche Informationen für nicht so erfahrene Benutzer wie mich:
Da ich nur EINEN Benutzeraccount (Administrator) habe, würde ich den Benutzernamen nicht ändern ("Sie sind bereits eingeloggt" war die Antwort in TTY1 ( Strg + Alt ) + F1 ) Um dies zu umgehen:

  1. Melden Sie sich mit Ihren alten Anmeldeinformationen an und fügen Sie einen neuen Benutzer hinzu, z. "temporär" in TTY1:

    sudo adduser temporary
    

    Legen Sie das Passwort fest.

  2. Ermöglichen Sie dem temporären Benutzer, sudo auszuführen, indem Sie den Benutzer der sudo-Gruppe hinzufügen:

    sudo adduser temporary sudo
    
  3. Melden Sie sich mit dem Befehl exit .
  4. ab
  5. Zurück zu tty1: Melden Sie sich mit dem 'temporären' Benutzerkonto und dem Passwort an. Ändern Sie Ihren Benutzernamen und Ordner wie oben erwähnt. exit (bis Sie die Anmeldeaufforderung erhalten)
  6. Gehen Sie zurück zu TTY7 ( Strg + Alt + F7 ), um sich auf dem GUI / normalen Desktop-Bildschirm anzumelden und zu prüfen, ob dies funktioniert.
  7. Temporären Benutzer und Ordner löschen:

    sudo deluser temporary
    sudo rm -r /home/temporary
    
Egil 08.04.2011, 10:48
90

Um alles zusammenzufassen:

  1. Drücken Sie im Startbildschirm Strg + Alt + F1 .
  2. Melden Sie sich mit Ihrem Benutzernamen und Ihrem Passwort an.
  3. Legen Sie ein Passwort für das Konto "root" fest.

    sudo passwd root
    
  4. Abmelden.

    exit
    
  5. Melden Sie sich mit dem Konto "root" und dem Passwort an, das Sie zuvor festgelegt haben.

  6. Ändern Sie den Benutzernamen und den Basisordner auf den neuen Namen, den Sie möchten.

    usermod -l <newname> -d /home/<newname> -m <oldname>
    
  7. Ändern Sie den Gruppennamen in den neuen Namen, den Sie möchten.

    groupmod -n <newgroup> <oldgroup>
    
  8. Sperren Sie das Konto "root".

    passwd -l root
    
  9. Wenn Sie ecryptfs (verschlüsseltes Home-Verzeichnis) verwenden. Mounten Sie Ihr verschlüsseltes Verzeichnis mit ecryptfs-recover-private und editieren Sie <mountpoint>/.ecryptfs/Private.mnt , um Ihr neues Home-Verzeichnis wiederzugeben.

  10. Abmelden.

    exit
    
  11. Drücken Sie Strg + Alt + F7 .

Und jetzt können Sie sich mit Ihrem neuen Benutzernamen anmelden.

    
Valentin Uveges 06.07.2013 11:43
24

Im Wiederherstellungsmodus neu starten und zur Root-Eingabeaufforderungs-Shell wechseln ("Drop to root shell prompt")

R \ u00e4ne zuerst den Stamm erneut ein

mount -o remount,rw /

Um den Benutzernamen und den Namen des Home-Ordners zu ändern,

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

Für den Gruppennamen,

groupmod -n <newgroup> <oldgroup>
    
karthick87 08.04.2011 11:23
10

(Ubuntu 13.10, 14.04, 16.04) Klicken Sie auf das Symbol "Systemeinstellungen". Klicken Sie dann auf "Benutzerkonten". Ihr Administratorkonto sollte angezeigt werden. Klicken Sie auf die Schaltfläche "Entsperren". Geben Sie Ihr Benutzerpasswort wie gewünscht ein, um Änderungen an Ihrem Konto zu ermöglichen. Nach dem Freischalten können Sie auf Ihren alten Benutzernamen klicken, den Sie ändern möchten, und einen neuen Benutzernamen eingeben, um ihn zu ersetzen. Wenn Sie den neuen Namen eingegeben haben, klicken Sie auf die Schaltfläche "Sperren", um die Änderung dauerhaft zu machen. Starte Ubuntu neu.

    
Chicodoodoo 08.07.2014 00:45
3

Wenn Sie usermod: can't change /etc/password erhalten, führen Sie einfach die folgenden Befehle aus:

Führen Sie in der Root-Wiederherstellungskonsole den folgenden Befehl aus:

mount -o remount,rw /

Dann wiederhole:

usermod -l <newname> -d /home/<newname> -m <oldname>
    
user1511576 30.07.2014 14:14
0

wenn du usermod -l <newname> -d /home/<newname> -m <oldname> bekommst useradd: can't change /etc/passwd Fehlermeldung, um dies zu vermeiden, fügen Sie einfach sudo -- zum obigen Befehl wie

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

und

sudo --  groupmod -n <newgroup> <oldgroup>
    
Sriraj Hebbar 06.08.2013 08:12
-3

Da nicht alle PCs die usermod App haben, können Sie das manuell tun. Als root öffnen Sie /etc/passwd zum Bearbeiten:

sudo vim /etc/passwd

und ändern Sie den Namen des Benutzers am Anfang einer Zeile:

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

zu:

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

Wenn du von root gearbeitet hast, logge dich einfach ein und wenn du bei user angemeldet bist, logg dich ab und logge dich erneut ein.