0

伙计们,

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

passwd 命令需要 root 权限才能更改另一个用户的密码,但是我们喜欢使用 setuid 运行我们的实用程序,这样执行程序的用户不必是 root,而是从可执行文件中获得 root 权限。

所以我们执行:

sudo chown root ChangePassword
sudo chmod 6755 ChangePassword

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

有任何想法吗 ?

4

1 回答 1

0

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

于 2014-08-04T11:58:45.713 回答