Близкие,
Мы пытаемся разработать служебную программу (ChangePassword), которая позволяет пользователям автоматически менять свой пароль, выполняя: exp_spawnl("passwd", "username")
Команде passwd требуются привилегии root для изменения пароля другого пользователя, однако нам нравится запускать нашу служебную программу с использованием setuid, чтобы пользователь, выполняющий программу, не обязательно был root, а получал привилегии root из исполняемого файла.
Итак, мы выполняем:
sudo chown root ChangePassword
sudo chmod 6755 ChangePassword
Но по какой-то причине это не работает, когда мы выполняем ChangePassword, команда passwd, порожденная exp_spawnl, не наследует привилегии root.
Любые идеи ?