如何授予普通用户对 FreeBSD 中特定系统调用的特权访问权限?

如何授予普通用户对 FreeBSD 中特定系统调用的特权访问权限?

我想赋予普通用户在 FreeBSD 上任意 fchown() 文件的能力(就好像他们是超级用户一样)。一般来说,是否有正确的方法来更改给定系统调用的权限检查?

我研究了 Capsicum,但对于有关该主题的所有文章来说,确实缺乏实际示例。

答案1

一种解决方案是创建您自己的程序,调用fchown(),将其 chown 到 root:wheel 并设置 setuid 位 ( chmod +s),使用 setuid 位运行的文件将以可执行文件的所有者身份运行。

警告 您没有提供任何特定的上下文,但请注意,允许用户fchown()以 root 身份运行是进入整个系统访问权限的第一步。例如,人们可能会更改 的所有者/etc/{passwd,group,shadow},更改内容,再将所有者更改回来,然后很快!即时root。

相关内容