Ich möchte wissen, ob es einen einfachen Shell-Befehl gibt, um das Home-Verzeichnis des Benutzers unter Linux / Unix zu ändern (ähnlich wie chsh, das die Standard-Login-Shell eines vorhandenen gültigen Benutzers ändert), ohne die /etc/passwd
Datei zu berühren . Vielen Dank
201
/etc/passwd
Datei nicht berühren ? Du musst!usermod -d /home/userxx /home/useryy
zum Ändern des Linux-Standard-Anmeldeverzeichnisses in / home / useryychsh
Sie nicht die Standard- Login-Shell ändern , sondern nur die Login-Shell eines bestimmten Benutzers ... Um dieHOME
eines bestimmten Benutzers zu ändern , bearbeiten Sie einfach/etc/passwd
Antworten:
Ibrahims Kommentar zur anderen Antwort ist der richtige Weg, um das Home-Verzeichnis eines vorhandenen Benutzers zu ändern.
Ändern Sie das Home-Verzeichnis des Benutzers:
usermod
ist der Befehl zum Bearbeiten eines vorhandenen Benutzers.-d
(Abkürzung für--home
) ändert das Home-Verzeichnis des Benutzers.Ändern Sie das Ausgangsverzeichnis des Benutzers. + Verschieben Sie den Inhalt des aktuellen Verzeichnisses des Benutzers:
-m
(Abkürzung für--move-home
) verschiebt den Inhalt aus dem aktuellen Verzeichnis des Benutzers in das neue Verzeichnis.quelle
/home/username
normalerweise) wird entfernt./newhome/username
Argument eingeben, ist das Home-Verzeichnis des Benutzers. Sie können es auf das vorherige Ausgangsverzeichnis zurücksetzen, wenn Sie wissen, was es war, aber es gibt keine Option zum Rückgängigmachen.usermod -m -d /newhome/username username
funktioniert.Ändern Sie unter Linux das Standardbenutzer-Home-Verzeichnis, während Sie einen neuen Benutzer hinzufügen :
quelle
usermod -m -d /path/to/new/login/home/dir user
Ändert das vorhandene Benutzer-Home-Verzeichnis in ein neues Login-Verzeichnis, das erstellt wird, falls es noch nicht vorhanden ist. Mit der Option -m wird der Inhalt des aktuellen Home-Verzeichnisses in das neue Home-Verzeichnis verschobenDie akzeptierte Antwort ist fehlerhaft, da der Inhalt aus dem ursprünglichen Benutzerordner nicht damit verschoben wird. Ich werde eine weitere Antwort hinzufügen, um dies zu korrigieren:
Sie müssen den Ordner nicht mit dem Benutzernamen erstellen. Dadurch werden Ihre Dateien auch aus dem ursprünglichen Benutzerordner in den Ordner / newhome / username verschoben.
quelle
Falls andere Leser nach Informationen zum
adduser
Befehl suchen .Bearbeiten
/etc/adduser.conf
einstellen
DHOME
Variablequelle
Fand heraus, dass dies einige Anwendungen bricht, ist der bessere Weg, es zu tun
Zusätzlich zu symlink können Sie in neueren Distributionen und Dateisystemen als root auch bind-mount verwenden:
Dies ist nützlich, um den Zugriff "über" das Verzeichnis / home auf Unterverzeichnisse über Dämonen zu ermöglichen, die ansonsten so konfiguriert sind, dass kein Pfad durch Symlinks (Apache, FTPD usw.) erstellt wird.
Sie müssen sich natürlich daran erinnern (oder das Init-Skript), um beim Neustart zu binden.
Ein Beispiel für ein Init-Skript in
/etc/fstab
istquelle
usermod -m -d / newhome Benutzername
quelle