önsöz
Bu, Sudoers dosyası ve genel olarak sudo komutuyla ilgili oldukça karmaşık bir sorudur.
NOT: Bu değişiklikleri yalnızca öğrenme amacıyla kullandığım Ubuntu Desktop 13.04 çalıştıran özel bir makinede yaptım. NOPASSWD sudo'yu etkinleştirmenin çok büyük bir güvenlik riski olduğunu biliyorum.
Soru
Başlangıçta, sudoers dosyasına yaptığım tek değişiklik (/ etc / sudoers) bir satırdı, 'nicholsonjf' nin tüm komutları sudo ile bir parola girmek zorunda kalmadan çalıştırmasını sağlayan bir kullanıcı özelliği oldu (nicholsonjf ile başlayan satıra bakın) '):
# 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
Ancak, bu işe yaramadı ve 'nicholsonjf' komutunu her çalıştırdığımda hala şifrem istendi. Sudo komutlarını yalnızca 'nicholsonjf' olarak çalıştırmaya başlayabildiğimde, 'nicholsonjf' sudo ve admin gruplarından kaldırılmıştı.
Bunun neden işe yaradığını kimse açıklayabilir mi?
Çünkü 'nicholsonjf' kullanıcısı, 'nicholsonjf' kullanıcı spesifikasyonunu geçersiz kılan iki grup 'admin' ve 'sudo' spesifikasyonundan (aşağıda sudoers dosyasında görüldüğü gibi) sudo haklarını miras alıyordu. yapılandırma dosyası?