我想赋予普通用户在 FreeBSD 上任意 fchown() 文件的能力(就好像他们是超级用户一样)。一般来说,是否有正确的方法来更改给定系统调用的权限检查?
我研究了 Capsicum,但对于有关该主题的所有文章来说,确实缺乏实际示例。
答案1
一种解决方案是创建您自己的程序,调用fchown()
,将其 chown 到 root:wheel 并设置 setuid 位 ( chmod +s
),使用 setuid 位运行的文件将以可执行文件的所有者身份运行。
警告
您没有提供任何特定的上下文,但请注意,允许用户fchown()
以 root 身份运行是进入整个系统访问权限的第一步。例如,人们可能会更改 的所有者/etc/{passwd,group,shadow}
,更改内容,再将所有者更改回来,然后很快!即时root。