以root身份运行的Perl脚本(通用)

Bil*_*osa 3 perl setuid

我希望能够以root身份在我的系统上运行某些Perl脚本,即使调用它们的"用户"没有以root身份运行.

对于每个脚本,我可以编写一个C包装器,为该包装器设置setuid root; 包装器会将UID更改为0,然后调用Perl脚本,该脚本本身不会设置setuid位.这避免了在尝试运行setuid根脚本时出现的不幸障碍.

但我不想为每个脚本编写一个C包装器.我只想要一个C包装器来完成整个系统的工作.我也不希望任何脚本都能使用这个C包装器; C包装器本身应该能够检查Perl脚本的某些特定特性,以查看是否可以将UID更改为root.

我还没有看到任何解决此问题的其他Stack Overflow问题.

我知道风险,我拥有这个系统,而且我不想让任何东西随意地照顾我.

ike*_*ami 5

即使是专家,你要做的也很努力.setuid过去的包装器perl不再存在,因为这样,并且因为现在不再需要它了.Linux和我认为其他现代的unix系统都支持setuid脚本,所以你不需要高度脆弱和复杂的包装器.

如果你真的需要一个包装纸,不要重新发明轮子; 好用sudo!