Je cherche l'endroit où la variable d'environnement $ HOME est définie. C'est après la connexion, à mon avis.
J'utilise Linux Debian 2.6.32-5-686.
Si vous essayez de modifier votre HOME, vous pouvez faire
export HOME=/home/...
soit dans votre shell, soit dans votre fichier ~/.profile et/ou ~/.bashrc (ou dans le shell de connexion approprié).
(Le code ci-dessus fonctionnera pour les shells bash et similaires, qui sont par défaut dans Debian; sinon, vous feriez `setenv HOME $ HOME:/extra/path, je pense, sur les shells de type csh dans d'autres distributions.)
edit - Cependant, ce n'est probablement pas la façon de le faire. Voir d'autres réponses. Ne pas utiliser cette réponse.
Sous Linux, la variable d’environnement HOME
est définie par le programme de connexion:
login
sur la console, telnet et rlogin sessionssshd
pour les connexions SSHgdm
name__, kdm
ou xdm
pour les sessions graphiques.Le programme de connexion l'arrange avant d'appeler exec sur votre shell (en l'incluant dans les arguments de exec), en fonction de la valeur dans/etc/passwd.
Modifiez cela en exécutant: usermod -d /home/whatever_dir whatever_user
.
Veuillez noter que ce sera (évidemment) le nouveau répertoire de base. Bash lui donnera cd
lors de la connexion, assurez-vous qu'il existe et que les autorisations sont correctes. De plus, n'oubliez pas .bashrc
, .profile
, .xinitrc
, etc; s'ils ne sont pas dans le répertoire personnel, ils ne seront pas lus.
De 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