Как пользователи Linux меняют свой пароль без привилегий root?
Я заметил, что обычные пользователи могут менять свои пароли без sudo. Но, насколько мне известно, для смены пароля необходимо написать файл /etc/shadow, который доступен только пользователю root.
Как это случилось?
2 ответа
Решение
passwd
Программа в установленном корне setuid:
$ ls -l `which passwd`
-rwsr-xr-x 1 root root 41284 Sep 12 2012 /usr/bin/passwd
Обратите внимание s
в четвертой позиции. Это флаг, который может быть установлен в правах доступа к файлу, который говорит Linux принимать привилегии пользователя, которому принадлежит исполняемый файл, при его запуске - в данном случае, root.
Пользователь может просто сменить пароль
passwd
из командной строки Linux.