我正在我的 Ubuntu 18.04 服务器中添加一个名为“test”的用户。当我使用 添加用户时adduser
,如下所示:
sudo adduser --system --group test --shell /bin/bash
一切顺利,我可以正常登录,但 .bashrc、.bash_logout 和 .bash_profile 不是在主目录中默认生成的。而当我使用useradd
以下命令添加用户时:
sudo useradd -m test -s /bin/bash
用户添加方式与adduser
我在主目录中预先配置的.bash_profile,.bashrc 和.bash_logout相同。
有人能解释一下为什么会有区别吗?我在adduser
使用过程中是否遗漏了任何标志?
答案1
此行为adduser
是由于选项造成的--system
。使用此选项,您可以创建一个系统用户,其 UID 低于 1000。从man adduser
:
如果使用一个非选项参数和
--system
选项调用,adduser
将添加系统用户...主目录的创建规则与普通用户相同。新的系统用户将拥有 shell/bin/false
(除非用选项覆盖--shell
),并且登录被禁用。骨架配置文件未被复制。
这骨架配置文件这些文件位于/etc/skel
,当新的普通用户添加到系统时,它们会被复制到用户的主目录中。
如果您想添加普通用户,默认情况下,您不需要添加任何选项adduser
,只需使用:
sudo adduser username
另一方面,如果您想创建完全合格的普通用户,则adduser
需要添加一些附加选项,例如-m
创建用户的主目录并复制内容/etc/skel
。