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]*