Gunakan NOPASSWDarahan
Anda dapat menggunakan NOPASSWDarahan dalam /etc/sudoersfile Anda .
Jika pengguna Anda dipanggil userdan host hostAnda dipanggil, Anda bisa menambahkan baris ini ke /etc/sudoers:
user host = (root) NOPASSWD: /sbin/shutdown
user host = (root) NOPASSWD: /sbin/reboot
Ini akan memungkinkan pengguna useruntuk menjalankan perintah yang diinginkan hosttanpa memasukkan kata sandi. Semua sudoperintah ed lainnya masih memerlukan kata sandi.
Perintah yang ditentukan dalam sudoersfile harus sepenuhnya memenuhi syarat (yaitu menggunakan jalur absolut ke perintah untuk menjalankan) seperti yang dijelaskan dalam sudoershalaman manual . Menyediakan jalur relatif dianggap sebagai kesalahan sintaksis.
Jika perintah berakhir dengan /karakter trailing dan menunjuk ke direktori, pengguna akan dapat menjalankan perintah apa pun di direktori itu (tetapi tidak dalam sub-direktori di dalamnya). Dalam contoh berikut, pengguna userdapat menjalankan perintah apa pun di direktori /home/someuser/bin/:
user host = (root) NOPASSWD: /home/someuser/bin/
Catatan: Selalu gunakan perintah visudountuk mengedit sudoersfile untuk memastikan Anda tidak mengunci diri dari sistem - kalau-kalau Anda tidak sengaja menulis sesuatu yang salah ke sudoersfile. visudoakan menyimpan file Anda yang dimodifikasi ke lokasi sementara dan hanya akan menimpa sudoersfile asli jika file yang dimodifikasi dapat diuraikan tanpa kesalahan.
Menggunakan /etc/sudoers.dalih-alih memodifikasi/etc/sudoers
Sebagai alternatif untuk mengedit /etc/sudoersfile, Anda bisa menambahkan dua baris ke file baru di /etc/sudoers.dmis /etc/sudoers.d/shutdown. Ini adalah cara yang elegan untuk memisahkan berbagai perubahan pada sudohak dan juga membiarkan sudoersfile asli tidak tersentuh untuk peningkatan yang lebih mudah.
Catatan: Sekali lagi, Anda harus menggunakan perintah visudountuk mengedit file untuk memastikan Anda tidak mengunci diri dari sistem:
sudo visudo -f /etc/sudoers.d/shutdown
Ini juga secara otomatis memastikan bahwa pemilik dan izin file baru diatur dengan benar.
Jika sudoerskacau
Jika Anda tidak menggunakan visudountuk mengedit file Anda dan kemudian secara tidak sengaja mengacaukan /etc/sudoersatau mengacaukan file /etc/sudoers.dmaka Anda akan dikunci sudo.
Solusinya bisa dengan memperbaiki file menggunakan pkexecyang merupakan alternatif sudo.
Untuk memperbaiki /etc/sudoers:
pkexec visudo
Untuk memperbaiki /etc/sudoers.d/shutdown:
pkexec visudo -f /etc/sudoers.d/shutdown
Jika kepemilikan dan / atau izin tidak benar untuk sudoersfile apa pun , file tersebut akan diabaikan oleh sudosehingga Anda mungkin juga menemukan diri Anda terkunci dalam situasi ini. Sekali lagi, Anda dapat menggunakannya pkexecuntuk memperbaikinya.
Izin yang benar harus seperti ini:
$ ls -l /etc/sudoers.d/shutdown
-r--r----- 1 root root 86 Jul 16 15:37 /etc/sudoers.d/shutdown
Gunakan pkexecseperti ini untuk memperbaiki kepemilikan dan izin :
pkexec chown root:root /etc/sudoers.d/shutdown
pkexec chmod 0440 /etc/sudoers.d/shutdown