Как отказать конкретному пользователю в получении root (через su) в терминале, изменив /etc/pam.d/su? Требуется управление на основе Pam

В Ubuntu есть два пользователя (назовем их user1 а также user2). В настоящее время, user1 можно получить доступ с правами root с помощью следующих команд:

user1@sai:~$ su
Password: 
root@sai:/home/user1#

Тем не менее, я хочу отрицать, user1 от получения root-доступа и вместо этого user2 получить root-доступ через sudo при желании, изменив файл конфигурации Pam в /etc/pam.d/su файл.

Как я могу это сделать?

1 ответ

Это то, что /etc/sudoers делает с помощью некоторых групп.

По умолчанию, если пользователь является членом группы admin или группа sudoу них будет возможность запускать команды от имени пользователя root. Итак, мы можем просто удалить пользователя из этих двух групп:

sudo gpasswd -d sudo user1
sudo gpasswd -d admin user1

Обратите внимание, что это не вступит в силу немедленно. user1 необходимо выйти и снова войти, чтобы изменения вступили в силу.

Дать user2 доступ к root, вы можете добавить их в любую из этих групп. Лично я предпочитаю добавлять их в sudo группа, вот так:

sudo usermod -aG sudo user2

Снова, user2 Чтобы эти настройки вступили в силу, необходимо выйти и снова войти в систему.


Обратите внимание, однако, что это может быть возможно для user1 иметь запись в /etc/sudoers файл, в этом случае вам нужно удалить эту запись.

При редактировании /etc/sudoers, никогда не редактируйте его вручную! Вместо этого используйте visudo команда, которая проверит, что вы не собираетесь случайно сломать ваш конфиг. Выполните это с sudo visudo команда.

Другие вопросы по тегам