Bu normal bir ikiliyse, çalıştırabilirsiniz.
# chmod u+s /path/to/binary
Ne yazık ki, komut dosyaları ayarlanamaz. (Evet, ama yok sayılır). Bunun nedeni, komut dosyasının ilk satırının işletim sistemine komut dosyasını hangi yorumlayıcıda çalıştıracağını söylemesidir. Örneğin:
#!/bin/bash
Sonuçta koşuyorsun
/bin/bash /path/to/script
Açıkçası, yorumlayıcının setuid olması gerekir, bu da tüm komut dosyalarının setuid olacağı anlamına gelir. Bu kötü olur.
Bunu sudo ile / etc / sudoers dosyanıza visudo çalıştırarak yapabilirsiniz.
ALL ALL=NOPASSWD: /path/to/script
Ve şimdi herhangi bir kullanıcı çalıştırabilir
$ sudo /path/to/script
Bu, komut dosyasını parolalarını yazmadan çalıştırmalarını sağlar.
Komutta sudo gerektirmeyen, komut dosyanızı çalıştıran küçük bir setli ikili dosya oluşturmayı gerektiren bir alternatif vardır, ancak her ek setuid ikili dosyası başka bir potansiyel güvenlik sorunu ekler.