Linux passwd Изменение прав пользователя

Linux passwd Изменение прав пользователя

Когда я смотрю на

usr/bin/

каталог, я увидел командную строку с паролем

-rwsr-xr-x. 1 root root 30768 2012-02-22 20:48 /usr/bin/passwd

и позволяет изменить, чтобы получить полномочия root. с s.

Мне было интересно, что только root может изменить пароль другого пользователя с помощью

passwd   user

Я хочу найти местоположение этой команды и просмотреть ее.

эта команда также является частью каталога usr/bin/? или это что-то другое

то, что я хочу сделать, это.

Я вхожу в систему

user1

и тип

[user1] passwd user2

Конечно, он каким-то образом заблокирован. Но я хочу узнать об этом больше.

решение1

В Unix (и Linux) есть концепциянастоящийпользователь иэффективныйuser. Программа setuid, например, /usr/bin/passwdустановит эффективного пользователя на владельца файла; в этом случае она устанавливает эффективного пользователя на root.

Что именно программа будет делать с этими повышенными разрешениями, зависит от нее самой.

В случае с программой passwd, если вы передаете имя пользователя, то она проверит,настоящийпользователь — root; если это так, то выполнение завершается успешно, в противном случае возвращается ошибка.

Итак, rootпользователь может запустить /usr/bin/password user2, и это будет работать, но если userзапустить ту же команду, то она не сработает. Есть только одна программа, но способ ее работы меняется в зависимости от пользователя, который ее запускает.

решение2

Двоичный файл passwdsuid, потому что для изменения /etc/shadowфайла ему нужны права root. Он не позволит непривилегированному пользователю изменить пароль другого пользователя. Он позволит rootизменить пароль любого пользователя, но это не причина, по которой он suid.

Связанный контент