Ist es möglich, das Home-Verzeichnis neu zu definieren? z. B. nach /ext1/username
statt /home/username
, d.h. Erweitern des ~
in ein anderes Verzeichnis (im Gegensatz zum eigentlichen Home-Verzeichnis, in dem sich die Home-Dateien der Benutzer befinden).
(Diese Frage ist hauptsächlich akademisch, da dies wie eine schlechte Praxis erscheint. Ich habe auch keine Wahl, wenn es darum geht, csh
zu verwenden , obwohl ich die Top 10 gelesen habe.)
Akzeptierte Antwort:
Die Tilde ~
wird von Ihrer Shell interpretiert. Ihre Shell interpretiert ~
als Kurzform von $HOME
.
Versuchen Sie (echo ~; HOME=foo; echo ~)
. Dies sollte zuerst Ihr echtes Home-Verzeichnis und danach „foo“ ausgeben, wenn Sie $HOME
setzen dazu.
Der Standardwert von $HOME
kommt von Ihrer Systemkonfiguration. Verwenden Sie getent passwd
um alle bekannten Benutzer und ihre Home-Verzeichnisse aufzulisten. Abhängig von Ihrer Systemkonfiguration können diese Einträge aus /etc/passwd
stammen oder einen Remote-Verzeichnisdienst.
Wenn Sie Ihr Home-Verzeichnis nur vorübergehend neu definieren möchten, legen Sie einfach ein anderes $HOME
fest .
Wenn Sie es dauerhaft ändern möchten, müssen Sie den passwd-Eintrag ändern, z. durch manuelles Bearbeiten von /etc/passwd
.