Breve história: não use scripts de shell setuid (ou qualquer script setuid / setgid).
Longa história: Permitir o setuid em scripts de shell
Solução: invoque o comando usando sudo
.
sudo arp -s 198.51.100.1 00:53:00:12:34:56
Para permitir que o usuário steven
execute este comando sem digitar uma senha, execute visudo
e adicione a seguinte linha:
steven ALL = (root) NOPASSWD: arp -s 198.51.100.1 00\:53\:00\:12\:34\:56
Se você tiver outras entradas sudo para steven
, o NOPASSWD:
um (s) precisa vir por último .