Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Как получить список пользователей, которым разрешено sudo?

#linux #sudo


Есть сервер с большим числом системных пользователей, имеющих доступ к нему по SSH.

В рамках задачи по инвентаризации доступов необходимо получить список всех пользователей,
которым на этом сервере разрешено становиться рутом через sudo.

Понятно, что про единичного пользователя можно посмотреть вывод id username на предмет
группы wheel (которая из коробки даёт в CentOS возможность становиться рутом через
sudo), но как бы получить список всех таких пользователей? Понятно, что можно написать
цикл, в котором перебрать вывод id для всех пользователей системы, но можно ли сделать
как-нибудь поизящнее?
    


Ответы

Ответ 1



универсальный способ получения списка пользователей указанной группы — с помощью программы getent, вызванной для базы данных group (баз данных много, смотрите в документации: $ man getent): $ getent group название-группы пример вывода: название-группы:x:1000:пользователь1,пользователь2,пользователь3 чаще всего это просто строка из файла /etc/group, которую можно было получить и командой $ grep '^название-группы:' /etc/group но далеко не всегда — ведь существуют разные механизмы аутентификации, хранящие данные совсем по-другому. дополнение а по поводу глобального вопроса — получения списка пользователей, которым разрешено выполнение программы sudo, короткого, универсального и простого решения, насколько мне известно, нет. надо либо производить синтаксический разбора файлов /etc/sudoers*, либо, получив полный список пользователей от всех аутентификационных подсистем (с помощью $ getent passwd), анализировать для каждого пользователя вывод команды (не будет работать на старых версиях программы sudo): $ sudo -l -U пользователь пример вывода: User пользователь is not allowed to run sudo on ...

Ответ 2



В CentOS увидеть список всех пользователей, пренадлежащих определённой группе, можно с помощью команды lid, например список всех участников группы wheel (которым из коробки разрешено выполнять команды от имени и с правами root с помощью sudo) можно увидеть так: $ sudo lid -g wheel -- i.ivanov(uid=1000) p.petrov(uid=1001) v.pupkin(uid=1008) Надо, однако, понимать, что в sudoers могут быть заданы права "становиться рутом" и для других групп (или для единичных пользователей), так что необходимо также изучить содержимое sudoers (команда visudo).

Комментариев нет:

Отправить комментарий