【发布时间】:2014-09-19 19:27:36
【问题描述】:
伙计们,
我们正在尝试开发一个实用程序 (ChangePassword),它允许用户通过执行以下命令自动更改密码:
exp_spawnl("passwd", "username")
passwd 命令需要 root 权限才能更改另一个用户的密码,但是我们喜欢使用 setuid 运行我们的实用程序,这样执行程序的用户不必是 root,而是从可执行文件中获得 root 权限.
所以我们执行:
sudo chown root ChangePassword
sudo chmod 6755 ChangePassword
但是由于某种原因这不起作用,当我们执行 ChangePassword 时,exp_spawnl 生成的 passwd 命令不会继承 root 权限。
有什么想法吗?
【问题讨论】: