Sudoers fájl, engedélyezze a NOPASSWD-t a felhasználó számára, minden parancsot

106

Előszó

Ez egy meglehetősen összetett kérdés a Sudoers fájlhoz és a sudo parancshoz általában.

MEGJEGYZÉS: Megváltoztattam ezeket a változtatásokat egy dedikált gépen, amely az Ubuntu Desktop 13.04 rendszert futtatta, amelyet kizárólag tanulási célokra használok. Megértem, hogy ez óriási biztonsági kockázatot jelent a NOPASSWD sudo számára.

Kérdés

Kezdetben csak a sudoers fájl (/ etc / sudoers) egyetlen változata volt, egy olyan felhasználói specifikációnak, amely lehetővé tenné, hogy a nicholsonjf futtassa az összes parancsot a sudo-val, anélkül, hogy be kellene írnia a jelszót (lásd a kezdő sort a "nicholsonjf" kifejezéssel):

# 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

Ez azonban nem működött, és mindig kérvényeztem a jelszavamat minden egyes parancs végrehajtásakor, mint "nicholsonjf". Csak akkor tudtam elindítani a sudo parancsokat "nicholsonjf" -ként, miután eltávolítottam a "nicholsonjf" -ta verziót a sudo és admin csoportokból.

Tudna bárki megmagyarázni, hogy ez miért működött?

Ez azért van, mert a felhasználó "nicholsonjf" örökölt a sudo jogokat a "admin" és a "sudo" (a sudoers fájl alább látható) két csoportjellemzőjéből, amelyek a "nicholsonjf" felhasználói specifikációt felülbírálta, le a konfigurációs fájlban?

    
készlet James Nicholson 19.08.2013 02:45
forrás

3 válasz

104

A hozzáadott sort felülírták. man sudoers:

  

Ha több bejegyzés egyezik egy felhasználóval, azokat sorrendben alkalmazzák.   Ha több mérkőzés van, az utolsó mérkőzést használják (ami nem   szükségszerűen a legmeghatározóbb mérkőzés).

Az Ön esetébennicholsonjf a (z)sudo csoport tagja volt, így ezt a sort alkalmazta:

%sudo   ALL=(ALL:ALL) ALL

Ha be szeretné fejezni a/etc/sudoers bejegyzéseket, csak tegye az új bejegyzéseket utána.

Az új bejegyzésnek úgy kell kinéznie, mint

myuser ALL=(ALL) NOPASSWD:ALL egy felhasználónak, vagy

%sudo ALL=(ALL) NOPASSWD:ALL egy csoporthoz.

    
válasz adott pabouk 03.09.2013 02:55
forrás
109

Egyetlen felhasználó számára:

superuser ALL=(ALL) NOPASSWD:ALL

Csoporthoz:

%supergroup  ALL=(ALL) NOPASSWD:ALL
    
válasz adott Fedir RYKHTIK 16.01.2015 16:28
forrás
0

Ahogy a Vince megemlít egy megjegyzésben , használhatja ezt a sort:

%sudo ALL=NOPASSWD: ALL

(Ez különbözik a azok vonalain megjelenő soroktól válaszokat , és megoldotta a problémát számomra.)

    
válasz adott E. Fortes 04.10.2017 11:53
forrás