以 root 身份为所有用户运行带有特定参数的命令,无需密码

以 root 身份为所有用户运行带有特定参数的命令,无需密码

我希望能够fdisk -l以任何用户身份运行,而无需获取整个fdisk: cannot open /dev/sda: Permission denied消息。

我不明白如何fdisk -l用于恶意目的。

我有一个 PHP 脚本,它首先检查用户是否登录到我的网站,以及他们是否是管理员。

然后我有一个管理控制面板,它显示 的输出fdisk -l,但是,我收到错误fdisk: cannot open /dev/sda: Permission denied

没有用户输入,因此他们无法将参数注入命令中。

答案1

解决方案是创建一个调用 的程序fdisk。用 C\C++ 编写它很容易,你只需要一个编译器。然后将可执行文件的所有者更改为root并赋予它SUID权限(将 赋予SUID脚本是行不通的,这就是为什么你需要一个可执行文件而不是脚本)。确保没有其他用户可以写入该文件,否则可能会导致安全问题。

相关内容