У меня есть один скрипт, который принимает в качестве входного IP-адреса. У меня вопрос, могу ли я указать в sudoers, какой ввод можно добавить в мой скрипт. Теперь я делаю так:

 user ALL = !ALL, /bin/sh, /home/user/scripts/addIP.sh *

но это позволяет любой ввод, я могу указать это? Я пытаюсь это:

 ussshnode ALL = !ALL, /bin/sh, /home/ussshnode/node_2fa_prod/scripts/addIP.sh [0-9]+.[0-9]+.[0-9]+.[0-9]+

но это не работает должным образом. Некоторые предложения?

1 ответ1

0

1) подстановочные знаки спецификации команды не включают знак «+», но следующий синтаксис оправдает ваши ожидания, я думаю:

addIP.sh [0-9]*.[0-9]*.[0-9]*.[0-9]*

2) предпочтительно помещать sudo'ed двоичные файлы / сценарии в место, доступное для записи только root.

3) Я думаю, что начальное "!ALL, "в спецификации вашей команды бесполезно, и включение /bin /sh в sudoable команды позволит вашему пользователю выполнить что-либо от имени root, как только это будет встроено в скрипт ...

=> поэтому я бы написал это так (и поместил скрипт по указанному пути):

user ALL = /usr/local/scripts/addIP.sh [0-9]*.[0-9]*.[0-9]*.[0-9]*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .