Intereting Posts

Множественные подстановочные соответствия для файла sudoers?

Я пытаюсь понять, как создать запись в sudoer, где я допускаю ограниченный набор аргументов, но необязательно, но команда по-прежнему очень ограничительна.

Есть ли простой способ ограничить эти ограничения?

Я хотел бы, чтобы пользователь мог работать с флагом -w и необязательным значением, но все же быть ограничительным. Я не хочу указывать значения для параметра -w. Пользователь должен иметь возможность запускать любую из этих команд с 10 цифрами.

/usr/bin/iptables -nvL * /usr/bin/iptables -w -nvL * /usr/bin/iptables -w 10 -nvL * 

Я придумал эти 4 записи. Есть ли лучший способ определения необязательных значений?

 username ALL=(root) NOPASSWD: /usr/bin/iptables -nvL * username ALL=(root) NOPASSWD: /usr/bin/iptables -w -nvL * username ALL=(root) NOPASSWD: /usr/bin/iptables -w [[\:digit\:]] -nvL * username ALL=(root) NOPASSWD: /usr/bin/iptables -w [[\:digit\:]][[\:digit\:]] -nvL * 

Вы можете использовать функцию Cmnd_Alias .

 Cmnd_Alias ITEM_IPTABLES = /usr/bin/iptables (-w)? [[\:digit\:]]* -nvL * 

Затем добавьте Cmnd_Alias вы определили, в список команд, который вы хотите игнорировать, запрашивая пароль sudo .

 USERNAME ALL=(root) NOPASSWD: ITEM_IPTABLES 

От человека 5 sudoers :

? Означает, что предыдущий символ (или группа символов) isoptional.
То есть, это может появиться раз или совсем.

* Означает, что предыдущий символ (или группа символов) может отображаться ноль или более раз.

Круглые скобки используются для определения группы символов.