1

我有一个要设置 SUID 标志的 python 文件。因此,如果任何普通用户执行它,它将以 root 身份执行。我知道这是一个安全问题,但我仍然需要设置 SUID 标志。

4

1 回答 1

0

您需要一个本机映像才能使 suid 位在现代 Unix 上工作。如果你真的有这个要求,我会用嵌入式 Python 代码编写一个 C/C++ 程序来清理环境,然后执行脚本。

一个很好的方法是使用 boost::python 将 Python 嵌入到 C++ 程序中,这样您就可以构建一个安全的、静态链接的图像。

根据您真正想要做的事情,另一种选择是将您的脚本变成一个守护进程,从已知的上下文(例如使用 daemontools)开始,然后让用户在需要完成某些事情时与它进行通信,例如使用具有适当访问控制的命名管道。

第二个选项是否合适取决于您真正需要什么。

于 2011-01-09T06:52:51.923 回答