Как проверить статус UFW без sudo (или без root)? [дубликат]

На этот вопрос уже есть ответ здесь:

Я запускаю несколько скриптов для проверки статуса UFW и хотел бы для запуска sudo ufw status без необходимости выполнять sudo . Я надеялся найти группу firewall или ufw , в которую можно было бы добавить себя, но не нашел.

Как я могу разрешить любому пользователю X выполнять статус ufw , не будучи суперпользователем и не запрашивая пароль sudo ?


ОБНОВЛЕНИЕ :

Я хотел попробую добавить мой собственный файл в /etc/sudoers.d/ , но поленился, поэтому решил скопировать уже существующий, например:

sudo cp /etc/sudoers.d/mintupdate /etc/sudoers.d/firewall_status

Не делайте этого! Вы не сможете выполнить sudo или снова войти в систему. Пришлось делать восстановление загрузки. Вместо этого используйте:

sudo visudo -f /etc/sudoers.d/ufwstatus

Теперь просто следуйте принятому ответу ниже.

4
задан 11 February 2019 в 00:53

1 ответ

Вот /etc/sudoers.d/ файл, который работает на меня:

$ sudo cat /etc/sudoers.d/ufwstatus
Cmnd_Alias      UFWSTATUS = /usr/sbin/ufw status

%ufwstatus      ALL=NOPASSWD: UFWSTATUS

Затем добавьте новую "ufwstatus" группу (здесь добавленный как системная группа):

sudo groupadd -r ufwstatus

Ваш в других отношениях непривилегированный пользователь должен быть добавлен к ufwstatus группа, например.

sudo gpasswd --add testuser ufwstatus

Для изменения для вступления в силу пользователь должен войти в систему снова:

su - testuser

Затем

testuser@xenial-vm:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       192.168.1.0/24
3389/tcp                   ALLOW       192.168.1.0/24
111                        ALLOW       192.168.1.0/24
2049                       ALLOW       192.168.1.0/24

но другой ufw команды запрещены (даже небольшие варианты, такой как status --verbose):

testuser@xenial-vm:~$ sudo ufw status --verbose
Sorry, user testuser is not allowed to execute '/usr/sbin/ufw status --verbose' as root on xenial-vm.

testuser@xenial-vm:~$ sudo ufw disable
Sorry, user testuser is not allowed to execute '/usr/sbin/ufw disable' as root on xenial-vm.
3
ответ дан 11 February 2019 в 00:53

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

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