Не удалось выполнить сценарий оболочки из правила «network» udev, чтобы изменить MAC-адрес

Я пытаюсь выполнить сценарий оболочки из правила udev, когда добавлен сетевой интерфейс, а именно:

SUBSYSTEM=="net", ACTION=="add", KERNEL=="eth*", PROGRAM="/usr/local/bin/changemac.sh", NAME="eth0" 

Сценарий оболочки просто меняет MAC-адрес eth1 с помощью команды ifconfig следующим образом:

 #!/bin/sh /sbin/ifconfig eth0 hw ether 00:cc:dd:ee:ff:e1 echo "command return status $?" > /root/changemac.log 

Выше сценарий отлично работает из командной строки, но не выполняется из правила udev. Я также пытаюсь использовать RUN вместо PROGRAM в правиле udev, но не добился успеха:

 SUBSYSTEM=="net", ACTION=="add", KERNEL=="eth*", RUN="/usr/local/bin/changemac.sh", NAME="eth0" 

Тот же скрипт выполняется из моего собственного правила udev модуля.

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