Gunakan NOPASSWD
arahan
Anda dapat menggunakan NOPASSWD
arahan dalam /etc/sudoers
file Anda .
Jika pengguna Anda dipanggil user
dan host host
Anda 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 user
untuk menjalankan perintah yang diinginkan host
tanpa memasukkan kata sandi. Semua sudo
perintah ed lainnya masih memerlukan kata sandi.
Perintah yang ditentukan dalam sudoers
file harus sepenuhnya memenuhi syarat (yaitu menggunakan jalur absolut ke perintah untuk menjalankan) seperti yang dijelaskan dalam sudoers
halaman 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 user
dapat menjalankan perintah apa pun di direktori /home/someuser/bin/
:
user host = (root) NOPASSWD: /home/someuser/bin/
Catatan: Selalu gunakan perintah visudo
untuk mengedit sudoers
file untuk memastikan Anda tidak mengunci diri dari sistem - kalau-kalau Anda tidak sengaja menulis sesuatu yang salah ke sudoers
file. visudo
akan menyimpan file Anda yang dimodifikasi ke lokasi sementara dan hanya akan menimpa sudoers
file asli jika file yang dimodifikasi dapat diuraikan tanpa kesalahan.
Menggunakan /etc/sudoers.d
alih-alih memodifikasi/etc/sudoers
Sebagai alternatif untuk mengedit /etc/sudoers
file, Anda bisa menambahkan dua baris ke file baru di /etc/sudoers.d
mis /etc/sudoers.d/shutdown
. Ini adalah cara yang elegan untuk memisahkan berbagai perubahan pada sudo
hak dan juga membiarkan sudoers
file asli tidak tersentuh untuk peningkatan yang lebih mudah.
Catatan: Sekali lagi, Anda harus menggunakan perintah visudo
untuk 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 sudoers
kacau
Jika Anda tidak menggunakan visudo
untuk mengedit file Anda dan kemudian secara tidak sengaja mengacaukan /etc/sudoers
atau mengacaukan file /etc/sudoers.d
maka Anda akan dikunci sudo
.
Solusinya bisa dengan memperbaiki file menggunakan pkexec
yang 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 sudoers
file apa pun , file tersebut akan diabaikan oleh sudo
sehingga Anda mungkin juga menemukan diri Anda terkunci dalam situasi ini. Sekali lagi, Anda dapat menggunakannya pkexec
untuk 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 pkexec
seperti ini untuk memperbaiki kepemilikan dan izin :
pkexec chown root:root /etc/sudoers.d/shutdown
pkexec chmod 0440 /etc/sudoers.d/shutdown