Unter Linux der HOME Umgebungsvariable wird vom Anmeldeprogramm gesetzt:
- bis
loginauf der Konsole telnet und rlogin Sitzungen - durch
sshdfür SSH-Verbindungen - durch
gdm,kdmoderxdmfür grafische Sitzungen.
Das Anmeldeprogramm arrangiert es, bevor es exec auf Ihrer Shell aufruft (indem es es in die Argumente von exec aufnimmt), basierend auf dem Wert in /etc/passwd.
Bearbeiten Sie dies, indem Sie Folgendes ausführen:usermod -d /home/whatever_dir whatever_user .
Bitte beachten Sie, dass dies (offensichtlich) das neue Home-Verzeichnis sein wird. Bash wird cd bei der Anmeldung darauf zugreifen, also stellen Sie sicher, dass es existiert und die Berechtigungen korrekt sind. Vergessen Sie außerdem nicht .bashrc , .profile , .xinitrc , etc; wenn sie nicht im Home-Verzeichnis sind, werden sie nicht gelesen.
Von usermod :
Usage: usermod [options] LOGIN
Options:
-c, --comment COMMENT new value of the GECOS field
-d, --home HOME_DIR new home directory for the user account
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP as new primary group
-G, --groups GROUPS new list of supplementary GROUPS
-a, --append append the user to the supplemental GROUPS
mentioned by the -G option without removing
him/her from other groups
-h, --help display this help message and exit
-l, --login NEW_LOGIN new value of the login name
-L, --lock lock the user account
-m, --move-home move contents of the home directory to the
new location (use only with -d)
-o, --non-unique allow using duplicate (non-unique) UID
-p, --password PASSWORD use encrypted password for the new password
-R, --root CHROOT_DIR directory to chroot into
-s, --shell SHELL new login shell for the user account
-u, --uid UID new UID for the user account
-U, --unlock unlock the user account