exp_spawnl以降低的权限执行passwd

时间:2014-07-28 15:01:18

标签: unix root chmod passwd

民间,

我们正在尝试开发一个实用程序(ChangePassword),它允许用户通过执行以下命令自动更改密码: exp_spawnl("passwd", "username")

passwd命令需要root权限才能更改另一个用户的密码,但我们希望使用setuid运行我们的实用程序,以便执行程序的用户不必是root用户,而是从可执行文件中获取root权限

所以我们执行:

sudo chown root ChangePassword
sudo chmod 6755 ChangePassword

但是由于某种原因,这不起作用,当我们执行ChangePassword时,exp_spawnl生成的passwd命令不会继承root权限。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题是passwd已经有了setuid,它处理自己的权限。