Adi*_*hya 3 command-line users adduser bashrc useradd
我正在 Ubuntu 18.04 服务器中添加一个名为“test”的用户。当我使用 添加用户时adduser
,如下所示:
sudo adduser --system --group test --shell /bin/bash
Run Code Online (Sandbox Code Playgroud)
一切顺利,我可以正常登录,但 .bashrc、.bash_logout 和 .bash_profile 不是默认在主目录中创建的。useradd
而当我使用如下方式添加用户时:
sudo useradd -m test -s /bin/bash
Run Code Online (Sandbox Code Playgroud)
添加用户的方式与adduser
我在主目录中预配置的 .bash_profile、.bashrc 和 .bash_logout 相同。
有人可以解释为什么会有差异吗?adduser
我在使用中缺少任何标志吗?
的这种行为adduser
是由于选项造成的--system
。使用此选项,您将创建一个系统用户,其 UID 低于 1000。来自man adduser
:
如果使用一个非选项参数和
--system
选项调用,adduser
将添加一个系统用户...主目录是按照与普通用户相同的规则创建的。新系统用户将拥有 shell/bin/false
(除非使用该--shell
选项覆盖),并禁用登录。不复制骨架配置文件。
骨架配置文件是位于 中的文件/etc/skel
,当新的普通用户添加到系统时,这些文件会被复制到用户的主目录中。
如果你想添加一个普通用户,默认情况下,你确实需要添加任何选项adduser
,只需使用:
sudo adduser username
Run Code Online (Sandbox Code Playgroud)
另一方面,如果您想创建完全合格的普通用户,则adduser
需要添加一些附加选项,例如-m
创建用户的主目录并将/etc/skel
.