.bashrc 和 .bash_profile 不是用 adduser 创建的,而是用 useradd 创建的

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我在使用中缺少任何标志吗?

pa4*_*080 5

的这种行为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.

另请阅读:~/.bashrc 文件是在什么时候创建的?