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

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

我正在我的 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

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

相关内容