民间,
我们正在尝试开发一个实用程序(ChangePassword),它允许用户通过执行以下命令自动更改密码:
exp_spawnl("passwd", "username")
passwd命令需要root权限才能更改另一个用户的密码,但我们希望使用setuid运行我们的实用程序,以便执行程序的用户不必是root用户,而是从可执行文件中获取root权限
所以我们执行:
sudo chown root ChangePassword
sudo chmod 6755 ChangePassword
但是由于某种原因,这不起作用,当我们执行ChangePassword时,exp_spawnl生成的passwd命令不会继承root权限。
有什么想法吗?
答案 0 :(得分:0)
问题是passwd已经有了setuid,它处理自己的权限。