it-swarm.com.de

Wie kann ich einen Unix-Benutzer umbenennen?

Ich habe einen Benutzer namens hedgehog und ich möchte, dass er squirrel heißt, aber ich möchte seine numerische Benutzer-ID nicht ändern.
Wie kann ich das erreichen?

98
Szymon Jeż

Unter Linux ändert der Befehl usermod die Benutzernamen. Es ändert die Systemkontodateien, um die in der Befehlszeile angegebenen Änderungen widerzuspiegeln.

So ändern Sie nur den Benutzernamen:

usermod --login new_username old_username

So ändern Sie den Benutzernamen und den Namen des Ausgangsverzeichnisses:

usermod --login new_username --move-home --home path_to_the_new_home_dir old_username

Möglicherweise möchten Sie auch den Namen der Gruppe ändern, die dem Benutzer zugeordnet ist:

groupmod --new-name new_username old_username
144
Szymon Jeż

HINWEIS: Versuchen Sie dies nicht, wenn Ihr Verzeichnis verschlüsselt ist! Wenn dies der Fall ist, sollten Sie zuerst Folgendes überprüfen: https://askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder

Der direkte Weg, dies zu tun, ist:

  1. Erstellen Sie ein neues temporäres Konto mit Sudo-Rechten:

    Sudo adduser temp
    Sudo adduser temp Sudo
    
  2. Melden Sie sich von Ihrem aktuellen Konto ab und wieder mit dem temporären Konto an.

  3. Benennen Sie Ihren Benutzernamen und Ihr Verzeichnis um:

    Sudo usermod -l new-username -m -d /home/new-username old-username
    
  4. Benennen Sie die Standardgruppe Ihres Benutzernamens um:

    Sudo groupmod -n new-username old-username
    
  5. Melden Sie sich vom temporären Konto ab und wieder mit Ihrem neuen Benutzernamen in Ihrem Konto an.

  6. Temporäres Konto entfernen:

    Sudo userdel -r temp
    

Andernfalls erstellen Sie einfach (1) einen neuen Benutzer und (2) rsync den alten Benutzer-Home-Ordner in den neuen und dann (3) chown ihn.

13
mimoralea

Im Allgemeinen können Sie einen Benutzer umbenennen, indem Sie seinen Benutzernamen in den Dateien /etc/passwd (Und ggf. /etc/shadow) Ändern. Auf den meisten Unix-Systemen wird der Befehl vipw zum Bearbeiten dieser Dateien verwendet (und auf vielen Systemen sind einige Sicherheitsvorkehrungen enthalten, um sicherzustellen, dass Sie die Dinge nicht zu sehr durcheinander bringen).
Siehe die Manpages für passwd(5) , shadow(5) und vipw(8) für weitere Informationen.

Beachten Sie, dass die obige Methode andere Dinge nicht umbenennt, die möglicherweise den ursprünglichen Benutzernamen tragen (Home-Verzeichnisse sind das beste Beispiel, persönliche Gruppen pro Benutzer (auf Systemen, die sie verwenden) sind andere). Möglicherweise möchten Sie diese auch aus Gründen der Konsistenz bereinigen, indem Sie die entsprechenden Felder in der passwd-Datei ändern und die Verzeichnisse umbenennen.


Mehrere Betriebssysteme bieten eine systemspezifische Möglichkeit zum Umbenennen von Benutzern. Beispielsweise enthalten viele Linux-Systeme den Befehl usermod(8) , Und unter AIX können Sie Kontonamen mit SMIT (oder smitty in einem Terminal ändern ) .
Diese Befehle behandeln häufig die Bereinigungselemente wie das Umbenennen von Home-Verzeichnissen, wenn Sie dazu aufgefordert werden.

4
voretaq7