Hogyan kell futtatni a sudo parancsot jelszó nélkül?

199

Hogyan működik aubuntu felhasználó az Ubuntu Server 12.04 AWS-képeinél a jelszó nélkülisudo minden parancs esetén, ha nincs konfiguráció a/etc/sudoers -ban?

Ubuntu kiszolgálón 12.04-et használok az Amazon-on. Szeretnék egy olyan új felhasználót felvenni, amely ugyanolyan viselkedést mutat, mint az alapértelmezett Ubuntu felhasználó. Pontosabban szeretném az% new_kde% -kal jelszó nélküli jelszót az új felhasználó számára.

Szóval hozzáadtam egy új felhasználót, és elmentem asudo szerkesztésére (persze visudo használatával). Az említett fájl olvasásakor úgy tűnt, hogy az alapértelmezett/etc/sudoers felhasználó aubuntu csoport tagjaként kapta a jelszavassudo értéket. Szóval hozzáadtam az új felhasználót. Ami nem működött. Ezután megpróbáltam hozzáadni aadmin directive értéketNOPASSWD -hoz. Ami szintén nem működött.

Mindenesetre most csak kíváncsi vagyok. Asudoers felhasználó hogyan kap jelszó nélküli jogosultságokat, ha nincsenek megadva a (z)ubuntu -ban. Mi az a mechanizmus, amely lehetővé teszi ezt?

    
készlet aychedee 23.09.2012 11:30
forrás

3 válasz

293

Oké, felfedeztem a választ, így azt is felvehetem itt a teljesség érdekében. A (z)/etc/sudoers végén van egy véleményem:

#includedir /etc/sudoers.d

Mindazonáltal ez ténylegesen tartalmazza a könyvtár tartalmát. Belül a fájl /etc/sudoers.d/90-cloudimg-ubuntu. Melyik a várt tartalom

# ubuntu user is default user in cloud-images.
# It needs passwordless sudo functionality.
ubuntu ALL=(ALL) NOPASSWD:ALL

Tehát itt van a sudo konfiguráció az alapértelmezett ubuntu felhasználó számára.

Ezt a fájlt visudóval kell szerkesztened. A következő parancs lehetővé teszi, hogy a helyes fájlt a visudóval szerkesztsük.

sudo visudo -f /etc/sudoers.d/90-cloudimg-ubuntu

És adjon hozzá egy sort, mint:

aychedee ALL=(ALL) NOPASSWD:ALL

A végén.

    
válasz adott aychedee 23.09.2012 12:27
forrás
77

Úgy találtam, hogy a legegyszerűbb előrelépés, annak érdekében, hogy egyszerűen replikálhassam ezt a viselkedést több szerveren, a következő volt:

sudo visudo

A sor módosítása:

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) ALL

erre a sorra:

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) NOPASSWD:ALL

Vigye a alatt ezt a sort:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

most ezt kell tennie:

# 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

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

majd minden olyan felhasználónak, aki szinkronizációt igényel egy jelszóval :

sudo adduser <user> sudo

és minden olyan felhasználónak, aki a sudo hozzáférésre szüksége van NÉV jelszó nélkül

sudo adduser <user> admin

és végül futtassa:

sudo service sudo restart

És ez az!

Szerkesztés: Lehet, hogy hozzá kell adnia az adminisztrációs csoportot, mivel nem hiszem, hogy alapértelmezés szerint létezik.

sudo groupadd admin

Ezzel a paranccsal hozzáadhatja az alapértelmezett AWSubuntu felhasználót aadmin csoporthoz:

sudo usermod ubuntu -g admin
    
válasz adott jiminikiz 03.04.2014 23:45
forrás
-1

Rövidebb válasz anélkül, hogy bármilyen szerkesztőt használnánk (bash tesztelésre, nagyon kockázatos a távoli gépeken végrehajtani).

A sudo beállítása az aktuális felhasználó jelszavának használata nélkül:

echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers

Ellenőrizze a szerkesztést:

sudo visudo -c

Ellenőrizze, hogy a sudo felhasználható-e jelszó nélkül:

sudo cat /etc/sudoers | grep "$USER"

... vagy egyszerűen kipróbáld:

sudo <anything>
    
válasz adott user315445 14.08.2014 00:25
forrás