Я ищу место, где установлена переменная окружения $ HOME. Это после входа в систему, на мой взгляд.
Я использую Linux Debian 2.6.32-5-686.
Я ищу место, где установлена переменная окружения $ HOME. Это после входа в систему, на мой взгляд.
Я использую Linux Debian 2.6.32-5-686.
В Linux переменная окружения HOME
устанавливается программой входа в систему:
login
в консоль, telnet и rloginsshd
для соединений SSHgdm
, kdm
или xdm
для графических сессий.Программа входа в систему организует его перед вызовом exec в вашей оболочке (включив его в аргументы exec), основываясь на значении в /etc /passwd.
Отредактируйте это, запустив: usermod -d /home/whatever_dir whatever_user
.
Обратите внимание, что это (очевидно) будет новый домашний каталог. Bash cd
к нему при входе в систему, поэтому убедитесь, что он существует и права доступа правильные. Кроме того, не забывайте о .bashrc
, .profile
, .xinitrc
и т.д .; если они не находятся в домашнем каталоге, они не будут прочитаны.
Из 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
Если вы пытаетесь изменить свой ДОМ, вы можете сделать
export HOME=/home/...
либо в вашей оболочке, либо в вашем файле ~/.profile и /или ~/.bashrc (или соответствующей оболочке входа в систему).
(Приведенный выше код будет работать для bash и аналогичных оболочек, которые по умолчанию установлены в Debian; в противном случае вы бы сделали `setenv HOME $ HOME:/extra/path, я думаю, на csh-подобных оболочках в других дистрибутивах.)
редактировать - однако это, вероятно, не способ сделать это. Смотрите другие ответы. Не используйте этот ответ.