it-swarm.com.de

So ändern Sie das Home-Verzeichnis des aktuell angemeldeten Benutzers

Ich bin derzeit bei einem CentOS-Server angemeldet und möchte mein Home-Verzeichnis von /home/myuserName/ bis /var/www/html/

Ich habe den folgenden Befehl ausprobiert:

> Sudo usermod -d /var/www/html myuserName

Aber das gibt mir einen Fehler:

usermod: user myUserName is currently logged in
17
Mohan

kurze Antwort: das kannst du nicht.

lange Antwort:

HOME dir wird in /etc/passwd, 6. Feld gesetzt. Es wird beim Anmelden gelesen, Ihre Shell wird mit diesem Home-Verzeichnis gestartet.

Der richtige Weg, um das Heimatverzeichnis für Joe zu ändern, ist:

  • habe joe abgemeldet.
  • verwenden Sie usermod -d /new/home joe, um das Ausgangsverzeichnis für die nachfolgende Sitzung zu ändern.

Sobald die Sitzung ausgeführt wurde, müssen Sie zwei Dinge tun:

  • bearbeiten Sie $HOME, um das Ausgangsverzeichnis für die Sitzung zu ändern (wird bei allen aktiven Sitzungen wiederholt).
  • verwenden Sie Sudo vipw, um das Ausgangsverzeichnis für die nächste Sitzung zu bearbeiten

Beachten Sie auch, dass Sie möglicherweise ein Problem mit Berechtigungen/Besitzverhältnissen für /var/www/html Haben.

17
Archemar

Der Befehl usermod funktioniert nicht, wenn Sie mit dem Benutzer angemeldet sind, für den Sie Änderungen vornehmen möchten.

Auf der Handbuchseite von usermod heißt es:

Mit CAVEATS usermod können Sie den Namen eines angemeldeten Benutzers nicht ändern. Sie müssen sicherstellen, dass der benannte Benutzer keine Prozesse ausführt, wenn dieser Befehl ausgeführt wird, wenn die numerische Benutzer-ID des Benutzers geändert wird. Sie müssen den Eigentümer aller Crontab-Dateien manuell ändern. Sie müssen den Eigentümer eines Jobs manuell ändern. Sie müssen alle NIS-Änderungen auf dem NIS-Server vornehmen.

Versuchen Sie, sich mit einem anderen Benutzer anzumelden und den Befehl erneut auszuführen.

Wenn dies nicht möglich ist, können Sie die Datei/etc/passwd manuell bearbeiten (genau das tut der Befehl usermod). Wenn Sie dies tun, stellen Sie sicher, dass Sie die Datei sichern, falls Sie versehentlich etwas Dummes tun.

8
MattM

Sie müssen die Datei /etc/passwd Bearbeiten, um das Ausgangsverzeichnis der aktuell angemeldeten Benutzer zu ändern.

Bearbeiten Sie /etc/passwd Mit Sudo vipw Und ändern Sie das Home-Verzeichnis des Benutzers.

vipw wird dringend empfohlen, außer vim oder anderen Editoren, da vipw die Sperre setzt, um eine Beschädigung der Daten zu verhindern.

7
7171u

Ein paar mögliche Problemumgehungen, je nachdem, was Sie lösen möchten:

Option 1. Fügen Sie HOME=/var/www/html zu Ihrem .bashrc

Option 2. /home/myusername und erstellen Sie dann einen Symlink zum gewünschten Verzeichnis.

mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername
2
Dax Kerchner