我的动机:
我想创建部署脚本,只需单击 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 目录的内容吗?