Известно, что *nix-подобных ОС правила для sudo настраиваются в файле /etc/sudoers, но если в нём много разных правил для разных пользователей, особенно если используются алиасы/макросы, как удобно продиагностировать, что же именно разрешено делать через sudo определённому пользователю?
Ответ
Многие не знают, что sudo имеет встроенную возможность для удобной диагностики, для этого служит ключ -l
# sudo -l -U vasya-pupkin
Runas and Command-specific defaults for vasya-pupkin:
User vasya-pupkin may run the following commands on this host:
(root) /usr/bin/tailf, /bin/ls, /usr/sbin/tcpdump
(asterisk) NOPASSWD: /bin/mv
Если вызывать sudo -l без дополнительных ключей, будут показаны разрешенные в sudoers команды для текущего пользователя. Используя дополнительный ключ -U username можно посмотреть разрешенные команды для любого пользователя в системе (но только если смотрящий - root).
В приведённом примере пользователь vasya-pupkin может запускать tailf, ls и tcpdump от рута, а также от имени пользователя asterisk перемещать файлы (удобно, если нужно предоставить не-рутовому пользователю возможность манипулировать файлами, пренадлежащими третьему пользователю).
Комментариев нет:
Отправить комментарий