Se este fosse um binário normal, você poderia configurar executando
# chmod u+s /path/to/binary
Infelizmente, os scripts não podem ser configurados. (Bem, você pode, mas é ignorado). A razão para isso é que a primeira linha do script informa ao SO em que intérprete executar o script. Por exemplo, se você tivesse um script com:
#!/bin/bash
Você acabaria correndo
/bin/bash /path/to/script
Obviamente, você precisaria que o intérprete fosse setuid, o que significaria que todos os scripts seriam setuid. Isso seria ruim.
Você pode fazer isso com o sudo colocando o seguinte no arquivo / etc / sudoers executando o visudo.
ALL ALL=NOPASSWD: /path/to/script
E agora qualquer usuário pode executar
$ sudo /path/to/script
Isso permite que eles executem o script sem digitar sua senha.
Existe uma alternativa que não requer sudo no comando, que exige a criação de um pequeno binário configurado que executa seu script, mas cada binário adicional adicionado adiciona outro possível problema de segurança.