将 sftp 和 scp 的 umask 设置为 0002

将 sftp 和 scp 的 umask 设置为 0002

我希望使用 sftp 和 scp 发送到我的服务器的文件是可组写的。我怎样才能做到这一点?

我尝试使用 libpam-umask 从http://wiki.debian.org/DebianDesktopHowTo但没有成功。

编辑: 有什么办法可以解决我的问题吗pam?有日志吗?有什么常见原因libpam-umask无法工作吗?我必须安装什么东西吗?

答案1

我遇到了类似的 umask 问题:尝试使目录中的所有文件都可以组读取,无论是谁创建的。

一开始我有点卡住了;我可以在组上设置粘性位,因此所有文件都具有相同的组,但是,首先,无法找到一致且正确地设置权限的方法。 (使用 cron 作业来定期纠正它似乎并不令人满意。)

但后来我找到了解决方案。 Posix ACL,您可以在目录属性(用户,组,权限/模式)中设置继承,设置用户和组的默认模式将达到您想要的效果。

您可能需要安装它以及新的备份工具(默认工具并不总是了解 ACL)

以 root 身份运行一次:

apt-get install acl

作为目录的所有者(第三行将 $dir 中所有目录的默认模式设置为当前模式):

dir=directory_to_fix
chmod -R ug+rwX 
find $dir -type d -print0 | xargs -0 -i{}  bash -c "getfacl --access {} | setfacl -d -M- {}"

答案2

我认为 PAM 从 Debian 6.0 开始读取默认 umask /etc/login.defs,但我目前无法访问系统进行检查。

相关内容