/etc/skel 目录包含在通过 useradd 命令创建新用户时自动复制到新用户的文件和目录。但是,当与旧的现有用户进行检查时,它不包含 /etc/skel 中应有的所有文件和目录(在我的例子中为 .ssh 目录)。
- 我在 /etc/default/useradd 中取消了 SKEL=/etc/skel 的注释。
- 将 .ssh 目录放置在 /etc/skel 内,但是从现有用户登录时,.ssh 目录不会显示,而新创建的用户可以正常使用。
答案1
您必须自己复制这些文件,记住:
- 不覆盖现有的定制版本(但可能会覆盖未更改的原始版本)
- 修复所有权(和权限)
- 跳过主目录不存在的用户
您需要确定要处理的用户集(getent passwd
或文件/etc/passwd
)。在某些系统上,它可能是users
组中的每个用户。在其他情况下,可能是每个 UID ≥ 1000 的帐户。依此类推。或者,您可能更愿意迭代其下的所有目录,而/home
不管用户数据库中的条目如何。