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