Se questo era un normale binario, è possibile impostare eseguendo
# chmod u+s /path/to/binary
Sfortunatamente, gli script non possono essere impostati. (Beh, puoi, ma viene ignorato). La ragione di ciò è che la prima riga dello script indica al sistema operativo in quale interprete eseguire lo script. Ad esempio se hai avuto uno script con:
#!/bin/bash
In realtà finiresti per correre
/bin/bash /path/to/script
Ovviamente, avresti bisogno che l'interprete fosse setuid, il che significherebbe che tutti gli script sarebbero impostati. Questo sarebbe male.
Puoi farlo con sudo inserendo quanto segue nel tuo file / etc / sudoers eseguendo visudo.
ALL ALL=NOPASSWD: /path/to/script
E ora qualsiasi utente può eseguire
$ sudo /path/to/script
Ciò consente loro di eseguire lo script senza digitare la password.
Esiste un'alternativa che non richiede sudo nel comando, che richiede la creazione di un piccolo binario setuided che esegue lo script, ma ogni binario setuid aggiuntivo aggiunge un altro potenziale problema di sicurezza.