使用以下命令在 Ubuntu 11.04 中创建了一个新用户:
$ useradd -d /home/dummy -m dummy
现在,在此之后我使用 设置其密码passwd dummy
,但是当我使用 登录该用户时su - dummy
。我收到消息:
无主目录,使用 HOME=/ 登录
如果我检查用户帐户虚拟的条目/etc/passwd
:
$ cat /etc/passwd | grep dummy
dummy:x:1001:1001::/home/dummy:/bin/bash**
我通过手动创建目录来解决这个问题mkdir /home/dummy
。
现在,错误似乎已解决,但我很惊讶为什么bash_profile
在该主目录中没有创建类似的文件。
答案1
你忘记了一个参数:
-m, --create-home create the dummy's home directory
您确定为目录设置了正确的所有者和权限吗?
$ ls -ld /home dummy
drwx------ dummy dummy ........... dummy
$ chown dummy:dummy /home/dummy
$ chmod 700 /home/dummy
如果目录中已有文件,请-R
向这两个命令添加额外的内容。
答案2
adduser
为了避免此类错误,您应该使用ubuntu 自带的perl 脚本。它是一个包装器useradd
,可帮助您以向导方式执行操作->[来源]...
答案3
在中/etc/login.defs
,更改系统范围设置CREATE_HOME
并将其设置为yes
。