В (большинстве) систем Linux мы можем позволить определенному пользователю su
кому угодно, поместив его в группу wheel и некоторые настройки в /etc/pam.d/su
.
Я хочу сделать что-то более ограниченное: я хочу, чтобы определенный пользователь user1 мог «стать» (как в su
) другого конкретного пользователя user2, без - но только этой пары. т.е. пользователь user1 не должен иметь возможности стать кем угодно, и другим пользователям нельзя разрешить становиться пользователем2.
Можно ли это сделать, и если да, то каков наименее уродливый способ сделать это?
Примечание : Предположим, у меня есть root. Если бы это каким-то образом могли сделать user2 и user1 без прав root, это было бы здорово, но я сомневаюсь в этом.
sudo
уже умеет это делать. Тривиальный пример позволяет пользователю1 sudo пользователю2 и выполнить любую команду:
user1 ALL=(user2) NOPASSWD: ALL
Примеры:
Запустить команду от имени пользователя2:
sudo -u user2 ls
Получить интерактивную оболочку:
sudo -i -u user2