为什么 useradd -m 不使用某些默认值填充创建的主目录?

为什么 useradd -m 不使用某些默认值填充创建的主目录?

我的动机:

我想创建部署脚本,只需单击 1 次即可准备好所有系统,并且以这种方式学习 Linux。所以我不想使用交互式实用程序adduser(我将所有交互信息放入一些settings.txt中)。

我的系统:

Debian 8.2(杰西)

我想:

创建包含主目录和默认文件夹的用户帐户。喜欢adduser做,但与useradd.

我的问题:

中有一段man userradd

   -m, --create-home
       Create the user's home directory if it does not exist. The files and directories contained in the
       skeleton directory (which can be defined with the -k option) will be copied to the home directory.

我在 /etc/adduser.conf 中查找 SKEL 变量的值adduser。它是 /etc/skel.

但是在我运行一些之后useradd -m myuser -k /etc/skel,我得到了空的 /home/myuser 目录。

更新1

在我创建了一些附加文件后,它还复制到了新的用户主目录(带有 3 个隐藏文件)。所以这意味着 /etc/skel 不会影响桌面、下载等文件夹。但在这种情况下,会影响什么呢?

答案1

adduser当使用或创建新的主目录时useradd,主目录将填充/etc/skel(“骨架主目录”,请参阅man adduser和/或man useradd)的内容。该目录包含.bashrc所有用户获得的初始点文件,例如等。等目录Desktop通常不是她的骨架主目录内容的一部分,因为用户甚至可能不想运行桌面环境(或使用这些目录的环境)。

这些目录是在用户登录并启动图形桌面环境时创建的。

您是否希望这些额外的目录(或任何其他文件或目录)成为骨架主目录的一部分,然后在 中创建它们/etc/skel,假设用户的图形桌面环境不存在这些已经存在的目录的问题(我不使用 Linux -就像台式机一样,所以我不知道)。

答案2

对我来说,默认情况下,/etc/skel 仅包含 3 个隐藏文件,.bash_logout和,.bashrc可以.profile使用ls -a.
您的命令应该有效,您检查过 /etc/skel 目录的内容吗?

相关内容