Я пытаюсь выяснить, как создать запись в 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 *
Я не боюсь: /
Если вы не хотите использовать символы подстановки, такие как »?« Или даже »*«, вам придется предоставить именно то, что вы хотите.
Согласно man-странице sudoers, он предоставляет только общие символы:
источник