如何允许组成员更改 Linux 上的文件权限

如何允许组成员更改 Linux 上的文件权限

我需要允许组“ftpusers”的成员能够更改某个目录内所有对象的权限。我正在研究如何做到这一点,但我只找到了如何在 BSD 上做到这一点:

chmod +a "ftpgroup 允许 writesecurity" /some/dir

我需要完全相同的东西,但是适用于 Debian/GNU。

谢谢

答案1

只有文件所有者或根用户才被允许在 Linux 中更改权限(写访问权限 != 权限更改访问权限)

我能想到的唯一方法是使用 sudo。我不知道这是否可行,我会非常谨慎地指定 sudo 规则,以便用户不具有任何额外的权限。

请注意,如果他们使用 FTP 服务器连接,sudo 可能不是答案。

答案2

一个解决方案(我不得不使用)是使用 cron 作业来检查并更改指定目录及其下文件的权限。虽然不太好,但确实有效。

如果您想扩展用户更改此设置的能力,您可以考虑允许 ftpgroup 中的用户使用 sudo 通过适当的规则在指定目录中允许 chmod。

或者您可以编写一个 shell 脚本,执行适当的检查并执行该功能,并使该程序允许通过 sudo 运行。我不建议也不推荐使用 set-uid shell 脚本。

答案3

只需授予“ftpusers”对该目录的写权限和所有权:

chgrp ftpusers <directory>
chmod g+rwx <directory>

然后设置 GID 位,以便所有新文件继承组所有权:

chmod g+s <directory>

相关内容