Ich bin derzeit bei einem CentOS-Server angemeldet und möchte mein Home-Verzeichnis von /home/myuserName/
auf ändern/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
HOME=/var/www/html
wird für die Sitzung dein Heimatverzeichnis ändern .Antworten:
kurze antwort : du kannst nicht.
lange Antwort :
HOME
dir ist 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:
usermod -d /new/home joe
diese Option, um das Ausgangsverzeichnis für die nachfolgende Sitzung zu ändern.Sobald die Sitzung ausgeführt wurde, müssen Sie zwei Dinge tun:
$HOME
, um das Ausgangsverzeichnis für die Sitzung zu ändern (wird bei allen aktiven Sitzungen wiederholt).sudo vipw
diese Option, um das Home-Verzeichnis für die nächste Sitzung zu bearbeitenBeachten Sie auch, dass Sie möglicherweise ein Problem mit Berechtigungen / Besitz haben
/var/www/html
quelle
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:
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.
quelle
Sie müssen die
/etc/passwd
Datei bearbeiten, um das Ausgangsverzeichnis der aktuell angemeldeten Benutzer zu ändern.Bearbeiten Sie das
/etc/passwd
mitsudo vipw
und ändern Sie das Home-Verzeichnis des Benutzers.vipw
Es wird dringend empfohlen, andere alsvim
oder andere Editoren zu verwenden, davipw
die Sperre gesetzt wird, um eine Beschädigung der Daten zu verhindern.quelle
Ein paar mögliche Problemumgehungen, je nachdem, was Sie lösen möchten:
Option 1. Fügen Sie
HOME=/var/www/html
Ihrem .bashrc hinzuOption 2. Benennen Sie um
/home/myusername
und erstellen Sie einen Symlink zum gewünschten Verzeichnis.quelle
Sie können dies nur vorübergehend tun. Dies bedeutet, dass Sie jedes Mal, wenn Sie sich als dieser Benutzer anmelden, diesen einen Befehl ausführen müssen:
Auf diese Weise können Sie die meisten Anwendungen glauben lassen, dass sich Ihr Ausgangsverzeichnis an dem oben verwendeten Speicherort befindet.
~
wird auch anfangen zu zeigen/var/www/html
.Die Anwendungen, mit denen dies für mich funktioniert hat, waren NPM und Maven.
quelle