man 5 sudoers
mengatakan ("Format File Sudoers" bagian):
Ketika beberapa entri cocok untuk satu pengguna, mereka diterapkan secara berurutan. Jika ada beberapa kecocokan, kecocokan terakhir akan digunakan (yang belum tentu merupakan kecocokan yang paling spesifik).
Jadi, Anda harus memiliki baris-baris ini persis dalam urutan berikut:
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
dan setiap baris yang juga cocok (seperti misalnya %sudo ALL=(ALL:ALL) ALL
) harus sebelum NOPASSWD
garis.
Catatan umum:#include
dan #includedir
izinkan sudoers
untuk menyertakan file lain . Jangan biarkan #
membodohi Anda, ini tidak komentar. Saat mencari entri yang mungkin mengganggu, Anda tidak boleh menghilangkan apa #include
dan #includedir
arahkan ke. Opsi yang berguna:sudo -l
.
Anda akan sering menemukan baris seperti ini di /etc/sudoers
:
# Allow members of group sudo to execute any command
%wheel ALL=(ALL:ALL) ALL
Ini akan memungkinkan setiap pengguna yang ada di "roda " grup untuk menggunakan sudo
dengan bukti identitas yang sesuai (misalnya:kata sandi mereka). Grup yang dinominasikan juga dapat berupa "sudo ", "admin ", atau lainnya... (misalnya:baris dimulai dengan %sudo
)
Jika ini ada dalam file, jalankan id
untuk melihat grup yang Anda ikuti:
$ id
uid=1000(attie) gid=1000(attie) groups=1000(attie),27(sudo),117(docker)
Jika pengguna Anda tidak termasuk dalam grup yang sesuai, maka Anda harus menambahkan pengguna Anda ke grup tersebut.
Alternatifnya adalah mencantumkan kedua aturan Anda satu per satu, dengan aturan pencocokan terakhir yang berlaku (yaitu:urutan penting):
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Lihat halaman ArchWiki di sudo:https://wiki.archlinux.org/index.php/sudo#Example_entries