Phil Asked: 2009-08-07 10:07:57 +0800 CST2009-08-07 10:07:57 +0800 CST 2009-08-07 10:07:57 +0800 CST adduser - 主目录设置为 / 772 我用 adduser user 添加了用户,然后用 passwd 密码输入了密码。当我 su - user 我得到“没有目录,使用 HOME=/ 登录” 这是怎么回事,我该如何解决? linux 5 个回答 Voted Robert Swisher 2009-08-07T10:12:51+08:002009-08-07T10:12:51+08:00 查看 /etc/passwd 并查看用户主目录设置为什么,它应该是第 6 个:分隔列 使用 usermod 更改他的主目录: $ usermod -d /home/user user Best Answer Scott Pack 2009-08-07T10:27:45+08:002009-08-07T10:27:45+08:00 可能没有与用户一起创建主目录。最简单的方法是使用 usermod: usermod -dm /home/USER USER 在哪里 -d -- 更改主目录 -m -- 如果不存在则创建主目录 /home/USER -- 这是新主目录的完整路径。 所以这不会在未来发生,你应该始终使用带有 useradd 的“create home”选项:-m 或 --create-home。这将使用 /etc/skel 作为模板构建新的主目录。 GardenMWM 2009-08-07T10:25:45+08:002009-08-07T10:25:45+08:00 表示该目录不存在,请检查以确保 /home/username 存在。如果没有,则运行以下命令 mkdir /home/username cp -r --preserve /etc/skel/* /home/username chown -R username.username /home/username 这应该为用户创建目录并阻止您看到的错误出现。 Douglas Leeder 2009-08-07T10:33:19+08:002009-08-07T10:33:19+08:00 也许您的 adduser 版本默认不会创建新的主目录? Amandasaurus 2009-08-22T16:33:23+08:002009-08-22T16:33:23+08:00 将来使用-m切换到useradd: -m, --create-home 为新用户创建主目录
查看 /etc/passwd 并查看用户主目录设置为什么,它应该是第 6 个:分隔列
使用 usermod 更改他的主目录:
可能没有与用户一起创建主目录。最简单的方法是使用 usermod:
在哪里
所以这不会在未来发生,你应该始终使用带有 useradd 的“create home”选项:-m 或 --create-home。这将使用 /etc/skel 作为模板构建新的主目录。
表示该目录不存在,请检查以确保 /home/username 存在。如果没有,则运行以下命令
这应该为用户创建目录并阻止您看到的错误出现。
也许您的 adduser 版本默认不会创建新的主目录?
将来使用
-m
切换到useradd
: