Answers:
如果您要修改自己的HOME,则可以
export HOME=/home/...
在您的外壳程序中,或在〜/ .profile文件和/或〜/ .bashrc中(或相应的登录外壳程序中)。
(上面的代码适用于bash和类似的shell,这在Debian中是默认的;否则,您可以在其他发行版中的`csh-like shell'上执行setenv HOME $ HOME:/ extra / path。)
编辑 -但是,这可能不是这样做的方法。查看其他答案。不要使用此答案。
登录程序会根据/ etc / passwd中的值在您的shell上调用exec之前(通过将其包含在exec的参数中)对其进行安排。
通过运行进行编辑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
$HOME
与混淆$PATH
。包含多个路径$HOME
(整个值将被视为单个路径名),或者在大多数情况下根本没有修改是没有意义的$HOME
。