我有一个文件夹,多个用户可以在其中写入和编辑文件,问题是这些文件由应用程序使用,要启动该应用程序需要权限(读取+写入),但编辑的文件属于编辑它的用户,我在程序启动前通过脚本设置了权限,但文件太大,每次我想启动应用程序时都要为 100K 文件设置权限,这对硬盘来说是一项非常繁重的工作。有什么解决办法吗?
答案1
有两种方法:
“经典”的做法是使用所谓的组粘着位:
在 Linux 上,目录上设置的“组粘性位”会使该目录中创建的所有文件的所有者组设置为包含目录的所有者组 - 而不是用户的主要组(默认组)。
以下是如何做到这一点:
- 将所有用户添加到专用组中。
- 将该目录的所有者组设置为该新组。
- 修改该目录的权限以包含
g=rwxs
— 即启用组粘性位,同时授予该组成员“合理”访问权限。 - 让每个用户都拥有
umask
他们用于编辑这些文件的进程的值,而不是屏蔽组权限位 - 也就是说,002
或者007
是可以的,但022
不是因为它会使目录中创建的文件具有g-w
他们的权限位,从而阻止其他用户编辑文件。
查看“Linux 文件系统权限揭秘”了解更多信息。
使用 POSIX ACL 来微调访问权限。
这是一个经常被遗忘的场所,但很久以来,Debian 在内核和支持它的文件系统中默认启用了此功能。
你可以从这。