我有一个绑定到活动目录的红帽5.8服务器,用户在通过sftplogin时通过活动目录进行validation。 用户主文件夹是在使用/etc/pam.d/system-authlogin时创build的。 创build主文件夹的特定行是
会话可选pam_mkhomedir.so skel = / etc / skel / umask = 0066
这正确地给家庭文件夹711权限,以便其他人不能读取他们的目录。 问题是,pam_mkhomedir.so也修改了我不想要的/ etc / skel文件夹内的所有文件夹/文件的权限。 有一个public_html文件夹(对于Apache),它需要有755个权限,所以用户可以创build网页。
有没有办法让我a)停止pam_mkhomedir.sorecursion地更改所有的文件权限或b)创build一个脚本,在复制skel后创buildpublic_html文件夹并设置正确的权限?
我不认为你会想保持mkhomedir.so模块recursion地改变所有的文件,因为public_html可能不是你骨架中唯一的文件夹/文件。 但据我所知该模块不允许非recursion或从umask中排除其他特定的目录。
之后您可以运行脚本来创buildpublic_html目录,甚至可以使用pam_exec.so模块修改已经创build的public_html目录的权限。 请参阅: PAM:在pam_mkhomedir之前执行命令?
另一个想法是,你可以研究将其主文件/文件夹上的组更改为只有Apache有权访问的组,并将umask设置为0026.这将使Apache组完全访问用户的主目录,而不是其他用户在系统上。
“umask”对用户创build的所有新文件都有影响。 pam_mkhomedir.so不能提供你想要的。
我正在使用addjobd-mkhomedir.conf 。
改变这样的线mkhomedir -u 0077 。
然后只有主文件夹被设置为这个权限。 其他所有不受影响。