我在一个运行 Linux(Debian 和 Ubuntu)的实验室工作。用户名和组名由 NIS 和 yp 处理。我们有一些每个人都可以访问的共同用户来运行实验,然后我们每个人都有自己的用户,此外还有一个共同的组,我们都是其中的成员。
如何使共享 /home/
驱动器 (NFS) 上的所有文件和目录都可由用户/组读取/写入(/executable)?基本上我想要的是
chmod -R 664 /home
chgrp -R commongroup /home
或等效的umask 0002
.
但运行上述命令只能修复文件夹中的当前文件,而 umask 仅适用于单个用户,并且每次用户登录时都必须运行 ie。在 .bashrc
文件中(这是否适用于通过 gnome 的更改模式?)。是否有系统范围的命令或设置可用于确保我们的公共(public)组对公共(public)文件具有写入权限?
最佳答案
Debian 和 Ubuntu 都附带 pam_umask .这允许您在 /etc/login.defs
中配置 umask,并让它们在系统范围内应用,而不管用户如何登录。
要启用它,您可能需要在 /etc/pam.d/common-session
中添加一行阅读
session optional pam_umask.so
或者它可能已经启用。然后编辑 /etc/login.defs
并将 UMASK
行更改为
UMASK 002
(默认为022
)。
请注意,用户仍然可以在自己的 ~/.profile
或 ~/.bashrc
或类似文件中覆盖 umask,但是(至少在新的 Debian 和 Ubuntu 安装中) /etc/profile
或 /etc/bash.bashrc
中不应有任何 umask 覆盖。 (如果有,只需删除它们。)
关于linux - 如何设置系统范围的umask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10220531/