Kata pengantar
Ini adalah pertanyaan yang cukup rumit terkait dengan file Sudoers dan perintah sudo secara umum.
CATATAN: Saya telah membuat perubahan ini pada mesin khusus yang menjalankan Ubuntu Desktop 13.04, yang saya gunakan murni untuk tujuan pembelajaran. Saya mengerti ini adalah risiko keamanan yang sangat besar untuk mengaktifkan sudo NOPASSWD.
Pertanyaan
Awalnya, perubahan saya hanya pada file sudoers (/ etc / sudoers) adalah satu baris, spesifikasi pengguna yang seharusnya mengaktifkan 'nicholsonjf' untuk menjalankan semua perintah dengan sudo tanpa harus memasukkan kata sandi (lihat baris yang dimulai dengan 'nicholsonjf '):
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
nicholsonjf ALL=NOPASSWD: ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Namun, ini tidak berhasil, dan saya masih diminta kata sandi saya setiap kali saya menjalankan perintah sebagai 'nicholsonjf'. Saya hanya dapat mulai menjalankan perintah sudo sebagai 'nicholsonjf' setelah saya menghapus 'nicholsonjf' dari grup sudo dan admin.
Adakah yang bisa menjelaskan mengapa ini berhasil?
Apakah karena pengguna 'nicholsonjf' mewarisi hak sudo dari dua spesifikasi grup 'admin' dan 'sudo' (terlihat di bawah dalam file sudoers), yang mengesampingkan spesifikasi pengguna 'nicholsonjf' karena mereka lebih jauh turun dalam file konfigurasi?