Как я удостоверяюсь, что пользователь неадминистратора не может изменить свой собственный пароль? Я хочу только, чтобы администратор сделал это.
Можно удалить бит SETUID от passwd
двоичный файл:
sudo chmod u-s /usr/bin/passwd
, хотя это не рекомендуется.
/usr/bin/passwd
двоичный файл является исполняемым файлом SETUID с владельцем как root
, поэтому когда passwd
выполняется любым, кого он выполняется как root
(так необходимые изменения в /etc/passwd
, /etc/shadow
, файлы могут быть сделаны). Путем удаления SETUID укусил, мы удалили эту возможность.