/etc/skel 目录的文件和目录是否可以像新创建的文件和目录一样自动复制到现有用户的文件和目录?

/etc/skel 目录的文件和目录是否可以像新创建的文件和目录一样自动复制到现有用户的文件和目录?

/etc/skel 目录包含在通过 useradd 命令创建新用户时自动复制到新用户的文件和目录。但是,当与旧的现有用户进行检查时,它不包含 /etc/skel 中应有的所有文件和目录(在我的例子中为 .ssh 目录)。

  1. 我在 /etc/default/useradd 中取消了 SKEL=/etc/skel 的注释。
  2. 将 .ssh 目录放置在 /etc/skel 内,但是从现有用户登录时,.ssh 目录不会显示,而新创建的用户可以正常使用。

答案1

您必须自己复制这些文件,记住:

  • 不覆盖现有的定制版本(但可能会覆盖未更改的原始版本)
  • 修复所有权(和权限)
  • 跳过主目录不存在的用户

您需要确定要处理的用户集(getent passwd或文件/etc/passwd)。在某些系统上,它可能是users组中的每个用户。在其他情况下,可能是每个 UID ≥ 1000 的帐户。依此类推。或者,您可能更愿意迭代其下的所有目录,而/home不管用户数据库中的条目如何。

相关内容