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


11

我需要允许“ ftpusers”组的成员能够更改特定目录内所有对象的权限。我一直在研究如何做,但是我发现的是在BSD上如何做:

chmod + a“ ftpgroup允许写安全性” / some / dir

除了Debian / GNU,我需要完全相同的东西。

谢谢


您正在使用哪种类型的文件系统?当前的权限是什么?
Zoredache

文件系统是ext3。当前权限:drwxrwxr-x 9 drasko ftpgroup 4096 2010-03-25 10:20 dirname
Drasko 2010年

Answers:


8

在Linux中,只有文件或根目录的所有者才能更改权限(写访问权限!=权限更改访问权限)

我能想到的唯一方法是使用sudo。我不知道这是否可以解决问题,并且我对如何指定sudo规则非常谨慎,以使用户没有任何其他特权。

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


chmod(1)手册页没有提及这一非常重要的要点。
杰里米

2

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

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

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

chmod g+s <directory>

2
那完全是我的想法,但是它不起作用,如果我尝试进行任何更改,都会收到“不允许操作”的消息
Drasko 2010年

当前的权限是什么?
Vitaliy

drwxrwxr-x 9 drasko ftpgroup 4096 2010-03-25 10:20 dirname
Drasko 2010年

刚刚使用777创建了新的目录应用程序,现在使用chmod g + s应用程序使用默认组创建了它?它说不允许操作
阿米特·帕特尔

2

一种解决方案(我不得不使用过)是一项cron作业,它要遍历并更改指定目录及其下文件的权限。不漂亮,但有效。

如果要扩展用户进行更改的能力,则可以考虑允许ftpgroup中的用户使用sudo使用适当的规则允许指定目录内的chmod。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.