正确使用setuid

正确使用setuid

我对 setuid 的警告感到非常害怕。但是我找不到使用它的方法。

我希望能够以 arp -s 198.51.100.1 00:53:00:12:34:56 用户身份运行:steven但 arp -s 需要 root 权限。

这是正确的方法吗?

sudo nano example.sh
sudo chmod u+s example.sh
sudo chmod og-w example.sh
sudo chmod o+x example.sh
./example.sh

答案1

简短的故事:不要使用 setuid shell 脚本(或任何setuid/setgid 脚本)。

很长的故事:允许在 shell 脚本上设置 setuid

解决方案:使用 调用该命令sudo

sudo arp -s 198.51.100.1 00:53:00:12:34:56

要允许用户steven在不输入密码的情况下运行此命令,请运行visudo并添加以下行:

steven ALL = (root) NOPASSWD: arp -s 198.51.100.1 00\:53\:00\:12\:34\:56

如果您有其他 sudo 条目steven需要NOPASSWD:放在最后的

相关内容