it-swarm.com.de

Befehl zum Ändern des Standard-Ausgangsverzeichnisses eines Benutzers

Ich möchte wissen, ob es einen einfachen Shell-Befehl gibt, mit dem das Benutzer-Ausgangsverzeichnis unter Linux/Unix geändert werden kann (ähnlich wie chsh, wodurch die Standard-Anmeldeshell eines vorhandenen gültigen Benutzers geändert wird), ohne den /etc/passwd zu berühren. Datei. Vielen Dank

177
Ibrahim Quraish

Ibrahims Kommentar zur anderen Antwort ist der richtige Weg, um das Home-Verzeichnis eines vorhandenen Benutzers zu ändern.

Ändern Sie das Basisverzeichnis des Benutzers:

usermod -d /newhome/username username

usermod ist der Befehl zum Bearbeiten eines vorhandenen Benutzers.
-d (Abkürzung für --home) ändert das Basisverzeichnis des Benutzers.

Ändern Sie das Benutzerverzeichnis + Verschieben Sie den Inhalt des aktuellen Benutzerverzeichnisses:

usermod -d -m /newhome/username username

-m (Abkürzung für --move-home) verschiebt den Inhalt aus dem aktuellen Verzeichnis des Benutzers in das neue Verzeichnis.

309
STW

From Linux ändert das Standard-Benutzerverzeichnis beim Hinzufügen eines neuen Benutzers :

Öffnen Sie diese Datei einfach mit einem Texteditor und geben Sie Folgendes ein:

vi /etc/default/useradd

Das durch die Variable HOME definierte Standard-Ausgangsverzeichnis lautet in der Suchzeile wie folgt:

HOME=/home

Ersetzen mit:

HOME=/iscsi/user

Speichern und schließen Sie die Datei. Jetzt können Sie Benutzer mit dem regulären Befehl useradd hinzufügen:

# useradd vivek
# passwd vivek

Überprüfen Sie die Benutzerinformationen:

# finger vivek
26
Maximin

Die akzeptierte Antwort ist fehlerhaft, da der Inhalt des ursprünglichen Benutzerordners nicht mit diesem verschoben wird. Ich werde eine weitere Antwort hinzufügen, um dies zu korrigieren:

Sudo usermod -d /newhome/username -m username

Sie müssen den Ordner nicht mit dem Benutzernamen erstellen. Dadurch werden auch Ihre Dateien vom ursprünglichen Benutzerordner in den Ordner/newhome/username verschoben.

20
Sukrit Gupta

Falls andere Leser nach Informationen zum Befehl adduser suchen.

/etc/adduser.conf bearbeiten

Setzen Sie die Variable DHOME

4
rafaelvalle

Es hat sich herausgestellt, dass dies bei einigen Anwendungen zu Problemen führt. Dies lässt sich am besten erreichen

Zusätzlich zu symlink können Sie auf neueren Distributionen und Dateisystemen als root auch bind-mount verwenden:

mkdir /home/username 
mount --bind --verbose /extra-home/username /home/username

Dies ist nützlich, um den Zugriff auf Unterverzeichnisse "über" das Verzeichnis/home über Dämonen zuzulassen, die ansonsten so konfiguriert sind, dass keine Pfade über Symlinks (Apache, ftpd usw.) gesendet werden.

Sie müssen sich natürlich an das (oder das Init-Skript) erinnern, das beim Neustart gebunden werden soll.

Ein Beispiel für ein Init-Skript in /etc/fstab ist

/extra-home/username /home/username none defaults,bind 0 0
0
Wilken