前一段时间,在IRC中进行对话时,我在一个频道中的一个用户建议某人设置一个目录,以便该目录继承文件上的用户ID,以解决其他人遇到的问题。当时我大声说“ Linux不支持setuid目录”。之后,提供建议的人向我展示了他的系统的pastebin(http://codepad.org/4In62f13),以兑现在目录上设置的setuid权限。
只是为了解释一下,当我说“ Linux不支持setuid目录”时,我的意思是,您可以进入“ chmod u + s directory”,它将设置目录上的位。但是,Linux(据我所知)忽略了此位(在目录上)。
尽我所能,我只是无法完全复制该pastebin。曾经有人向我建议,可以使用selinux模仿行为-并遵循规则,有可能在文件上强制执行uid,但不能从setuid目录权限中强制执行(我可以看到)。在Internet上阅读是相当没有信息的-大多数地方声称“不,目录上的setuid不适用于linux”,偶尔会说“可以在特定情况下完成”(例如:http://arstechnica.com/ etc / linux / 2003 / linux.ars-12032003.html)
我不记得原始人是谁,但是原始系统是debian 6系统,并且它运行的文件系统是xfs挂载的,带有“ default,acl”。我已经尝试过复制它,但是到目前为止还没有运气(到目前为止,已尝试使用各种版本的debian,ubuntu,fedora和centos)
谁能为我提供线索,让您了解在目录中使用setuid的系统是什么?
grpid|bsdgroups
或nogrpid|sysvgroups
),这意味着目录中的文件是使用目录组而不是所有者组创建的;也许玩那个?