如何完全控制umask / PAM /权限?
//更新于2月8日-简短的未解决问题: 如何用与文件不同的方式屏蔽目录? 如何在Nautilus复制/粘贴上屏蔽? 如何为SSHFS设置umask? 我们的情况 我们公司的几个人登录到服务器并上传文件。他们都需要能够上传和覆盖相同的文件。他们具有不同的用户名,但都属于同一组。但是,这是一个Internet服务器,因此“其他”用户通常应具有只读访问权限。所以我要拥有的是这些标准权限: 文件:664 目录:771 我的目标是所有用户都不必担心权限。服务器的配置方式应使这些权限适用于所有新创建,复制或覆盖的文件和目录。只有当我们需要一些特殊权限时,我们才手动更改此权限。 我们通过Nautilus中的SFTP-ing,通过使用sshfs挂载服务器并在Nautilus中将其视为本地文件夹来访问服务器以及在命令行中通过SCP-ing将文件上传到服务器。这基本上涵盖了我们的处境以及我们的目标。 现在,我已经阅读了许多有关美丽的umask功能的内容。据我了解,umask(与PAM一起)应该允许我完全按照自己的意愿进行操作:为新文件和目录设置标准权限。但是,经过许多小时的阅读和反复试验后,我仍然无法正常工作。我得到许多意外的结果。我真的很想对umask有所了解,并且有很多未解决的问题。我将在下面发布这些问题,以及我的发现和对导致这些问题的试验的解释。考虑到很多事情似乎出错了,我认为我做错了几件事。因此,存在许多问题。 注意:我使用的是Ubuntu 9.10,因此无法更改sshd_config来设置SFTP服务器的umask。已安装SSH OpenSSH_5.1p1 Debian-6ubuntu2 <必需的OpenSSH 5.4p1。因此,在这里提出问题。 1.我需要重新启动PAM更改才能生效吗? 让我们从这个开始。涉及的文件太多,我无法弄清楚什么会影响事物,什么不会影响事物,也是因为我不知道是否必须重新启动整个系统才能使PAM更改生效。我没有看到预期的结果就这样做了,但这真的有必要吗?还是可以仅从服务器注销然后重新登录,新的PAM策略应该有效吗?还是有一些“ PAM”程序需要重新加载? 2.是否有一个要更改的文件,它会影响所有用户的所有会话? 因此,当我阅读了许多不同的内容时,最终更改了许多文件。我最终在以下文件中设置了umask: ~/.profile -> umask=0002 ~/.bashrc -> umask=0002 /etc/profile -> umask=0002 /etc/pam.d/common-session -> umask=0002 /etc/pam.d/sshd -> umask=0002 /etc/pam.d/login -> umask=0002 我希望此更改适用于所有用户,因此最好在系统范围内进行某种更改。可以实现吗? 3.毕竟,这是UMASK事情,它能起作用吗? 因此,在所有可能的位置将umask更改为0002后,我都会运行测试。 ------------ SCP ----------- 测试1: scp testfile (which …