Ich habe Ubuntu auf einem Computer installiert, der jetzt von jemand anderem verwendet wird. Ich habe das Konto mit ihrem Namen umbenannt, aber es ändert nur den vollständigen Namen, nicht den Benutzernamen, der immer noch oben rechts (im fast-user-switch-applet
) angezeigt wird . Gibt es einen Befehl zum Umbenennen eines Unix-Benutzerkontos?
Ich habe darüber nachgedacht, ein neues Benutzerkonto mit dem neuen Namen zu erstellen und dann alles im "alten" Haus in das Haus des neuen Kontos zu kopieren. Wäre es genug? Aber dann denke ich, dass die Dateien den Besitzer der Berechtigungen des alten Kontos haben würden? Also soll ich tun chown -R newuser ~
?
Gibt es einen einfacheren / empfohlenen Weg, dies zu tun?
quelle
usermod --home
der vollständige Pfad angegeben werden muss, z. B./home/user.name
- andernfalls wird das neue Basisverzeichnis im aktuellen Arbeitsverzeichnis erstellt.Es ist zwar möglich, einen Benutzer umzubenennen und
usermod
einige Aufgaben zu erledigen , dies kann jedoch Probleme verursachen. Hier ist eine Liste der Stellen, an denen der Benutzername angezeigt werden kann. Ich behaupte nicht, dass diese Liste vollständig ist./etc/passwd
und die zugehörigen Dateien (zB/etc/shadow
,/etc/master.passwd
)./etc/group
(und/etc/gshadow
)./etc/sudoers
./var/mail/$USER
oder/var/spool/mail/$USER
./var/spool/cron/crontabs/$USER
at
Jobs (/var/spool/cron/atjobs/*
)Das Basisverzeichnis wird wahrscheinlich an noch mehr Stellen angezeigt. Viele Anwendungen schreiben absolute Pfade in verschiedene Punktdateien. Wenn Sie sich entscheiden , als auch das Home - Verzeichnis umbenennen (während es nicht erforderlich ist , dass der Benutzer
alice
‚Home - Verzeichnis sein/home/alice
, es werden mit/home/bob
würde verwirrend sein), müssen Sie kümmern sich um diejenigen zu nehmen. Ein globaler Ersatz wird für die meisten Anwendungen funktionieren, aber ich mache keine Zusagen. Behalten Sie nach Möglichkeit den alten Namen des Basisverzeichnisses als symbolischen Link zum umbenannten Verzeichnis bei.quelle
Hier ist eine Zusammenfassung der Befehle, die ich auf einem Debian-System verwendet habe:
Die letzten beiden Befehle erstellen eine symbolische Verknüpfung zwischen dem Namen des alten Basisverzeichnisses ( / home / OLD ) und dem Namen des neuen ( / home / NEW ).
quelle
groupadd
?groupadd
, denke ich, ist es vielleicht bessergroupmod -n NEW OLD
zu vermeiden, das Gid zu ändern. Zumindest unter Ubuntu ist standardmäßig eine Gruppe mit demselben Namen wie der Benutzer eingerichtet, daher möchte man diesen Namen auch ändern.Alle oben genannten Methoden sind elegant, aber warum nicht einfach einen neuen Benutzer erstellen, den gesamten Heiminhalt vom ersten kopieren und fertig? Wenn es sich um ein Dienstkonto (Anwendungskonto) handelt, ist dies möglicherweise nicht die beste Vorgehensweise
quelle