LINUX.ORG.RU

Сообщения Welder

 

Эксперименты с SUID, SGID, /usr/bin/passwd, /etc/shadow

Форум — General

Привет.

Operating System: Ubuntu 22.04.2 LTS
Kernel: Linux 5.19.0-45-generic

Поставил файлу /etc/shadow группу root и все права для группы.

----rwx--- 1 root root ... /etc/shadow
-rwxr-sr-x 1 root root ... /usr/bin/passwd

У файла /usr/bin/passwd убрал SUID и добавил SGID, ожидая что результат работы утилиты passwd будет таким же как и до изменений. На деле, натыкаюсь на ошибку:

user@Ubuntu1:~$ passwd
Changing password for user.
Current password: 
New password: 
Retype new password: 
passwd: Authentication token manipulation error
passwd: password unchanged

Почему так происходит и как заставить утилиту работать с установленным SGID и отсутствующим SUID?


Для того чтобы система приняла вводимый пароль, у файла /etc/shadow должны быть минимальные права 0040 и/или 0004. Если же «r» отсутствует у группы и других пользователей (rwx-wx-wx), получаем такой результат:

user@Ubuntu1:~$ passwd
Changing password for user.
Current password: 
Current Password: 
passwd: Authentication token manipulation error
passwd: password unchanged

Т.е. ошибка появляется уже на этапе ввода текущего пароля. До ввода нового не доходим. Полагаю, что если у файла shadow отсутствуют нужные права, мы должны увидеть сообщение - Permission denied. Но в данном случае предлагается дважды ввести пароль (независимо от того верно мы вводим его или нет). Почему это происходит?


3й вопрос вытекает из второго. Почему в первой строке ввода «password» с маленькой буквы, а во втором «Password:» - с большой? Откуда тянется текст «Current password:» и «Current Password:»?

 , , ,

Welder
()

RSS подписка на новые темы