我有一台绑定到活动目录的 Red Hat 5.8 服务器,用户通过 sftp 登录时通过活动目录进行身份验证。用户主文件夹是在登录期间使用 /etc/pam.d/system-auth 创建的。创建主文件夹的特定行是
会话可选 pam_mkhomedir.so skel=/etc/skel/ umask=0066
这正确地为主文件夹提供了 711 权限,因此没有其他人可以读取他们的目录。问题是,pam_mkhomedir.so 还修改了我不想要的 /etc/skel 文件夹内所有文件夹/文件的权限。有一个 public_html 文件夹(用于 apache),它需要具有 755 权限,以便用户可以创建网页。
有没有办法让我 a) 停止 pam_mkhomedir.so 递归更改所有文件权限或 b) 创建一个脚本,在复制 skel 后创建 public_html 文件夹并设置正确的权限?
我认为您不想阻止 mkhomedir.so 模块递归更改所有文件,因为 public_html 可能不是您框架中唯一的文件夹/文件。但据我所知,该模块不允许非递归或从 umask 中排除其他特定目录。
您当然可以在之后运行脚本来创建 public_html 目录,或者甚至只是使用 pam_exec.so 模块修改已创建的 public_html 目录的权限。请参阅:PAM:在 pam_mkhomedir 之前执行命令?
另一种想法是,您可以研究将其主文件/文件夹上的组更改为只有 Apache 有权访问的组,并将 umask 设置为 0026。这将使 Apache 组能够完全访问用户的主目录,但不能访问其他用户在系统上。
“umask”对用户创建的所有新文件都有影响。
pam_mkhomedir.so
无法提供你想要的。我正在使用
addjobd-mkhomedir.conf
。像这样换行
mkhomedir -u 0077
。然后只有主文件夹设置为此权限。所有其他的都不受影响。