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

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

usr/bin/

, я вижу командную строку с passwd

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

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

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

passwd   user

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

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

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

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

user1

и набираю

[user1] passwd user2

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

-1
24.06.2016, 14:21
2 ответа

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

2
28.01.2020, 05:06

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

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

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

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

4
28.01.2020, 05:06

Теги

Похожие вопросы