Telepítése és konfigurálása debian sudo 7 - debian segítség

otthon # 149; Cikkek # 149; Telepítése és konfigurálása sudo Debian 7

A szekciók listáját

Sudo - egy olyan program, amely lehetővé teszi a rendszergazdáknak, hogy korlátozott root jogosultságot a felhasználók és jelentkezzen gyökér aktivitás vezethet. Az alapvető filozófiája az, hogy a lehető legkevesebb jogok lehetséges, de ugyanakkor lehetővé teszik az emberek, hogy megfelelően ellássák feladataikat. Ellentétben a su parancsot, hogy a felhasználó beírja a jelszót a fiók, nem a root jelszót.

Sudo Debian egy tizenöt (újra) timeout megadása után a jelszót. Ez azt jelenti, hogy amikor először lépett be a root jelszót, akkor már 15 perc, mely idő alatt lehet futtatni a következő parancsot a jelszó megadása nélkül. Az időkorlát is azonnal alaphelyzetbe állítható sudo -k parancsot.

A Debian sudo 7

A telepítés során létrehoz egy konfigurációs fájl az / etc / sudoers és /etc/sudoers.d könyvtárban. amely megbeszéljük később.

sudo parancs paraméterei

Itt tartalmazza a legtöbb lehetőség áll rendelkezésre, de nem minden. Ahhoz, hogy teljes listájának megtekintéséhez használja az ember sudo parancsot.

Konfigurálása sudo Debian 7

Javasoljuk, hogy az összes felhasználói beállításokat a könyvtár fájl /etc/sudoers.d. és nem a fő / etc / sudoers. Lehetőség van, hogy hozzon létre egy fájlt bármilyen nevet a könyvtárban /etc/sudoers.d, és már sorolja a szükséges beállításokat.

sudoers fájlszinkronizálás

Általánosságban elmondható, hogy a sudo segédprogram a helyi, nem rendelkezik beépített mechanizmusok terjedésének általános beállítások több szerver egyetlen központi helyről. A szinkronizálás lehet használni, például, NFS. rsync vagy LDAP.

Példa fájl tartalma sudoers

Amikor elolvassa a Kalauz sudo Debian, ez elég nehéz megérteni valamit, de a példa minden a helyére kerül. Így kezdődik, gondoljunk csak egy ember sudoers:

# Álnevek tartalmazó felhasználónevek
User_Alias ​​FULLTIMERS = millert, mikef, Dowdy
User_Alias ​​PARTTIMERS = bostley, jwfox, feltérképezés
User_Alias ​​WEBMESTEREK = lesz, Wendy, Wim

# Runas alias nevét tartalmazó felhasználókat vagy csoportokat, ahonnan a parancsot le kell futtatni
Runas_Alias ​​OP = root, operátor
Runas_Alias ​​DB = Oracle, Sybase
Runas_Alias ​​ADMINGRP = ADM, oper

# Álneveket adott gépek
Host_Alias ​​SPARC = bigtime, eclipse, GKM, horgony: \
SGI = Grolsch, gyermekláncfű, fekete: \
ALPHA-modult, thalamus, foobar: \
HPPA = boa, nag, python
Host_Alias ​​CUNETS = 128.138.0.0/255.255.0.0
Host_Alias ​​CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0
Host_Alias ​​KISZOLGÁLÓK = mester, e-mail, www, ns
Host_Alias ​​CD-ROM-orion, Perseus, Hercules

# Álneveket utasításkészletei
Cmnd_Alias ​​guba = / usr / bin / mt, / usr / sbin / billenő / usr / sbin / rdump \
/ Usr / sbin / restore, / usr / sbin / rrestore paramétereinek
Cmnd_Alias ​​KILL = / usr / bin / kill
Cmnd_Alias ​​Printing = / usr / sbin / LPC, / usr / bin / lprm
Cmnd_Alias ​​LEÁLLÍTÁS = / usr / sbin / leállítás
Cmnd_Alias ​​HALT = / usr / sbin / halt
Cmnd_Alias ​​REBOOT = / usr / sbin / újraindítás
Cmnd_Alias ​​SHELLS = / usr / bin / sh / usr / bin / csh, a / usr / bin / ksh, \
/ Usr / local / bin / tcsh, a / usr / bin / rsh, \
/ Usr / local / bin / zsh
Cmnd_Alias ​​SU = / usr / bin / su
Cmnd_Alias ​​személyhívók = / usr / bin / több, / usr / bin / pg, / usr / bin / kevesebb

Ezután felülírja néhány érték alapértelmezés szerint fordításkor. Szeretnénk sudo bejelentkezni keresztül syslog végezzük auth minden esetben. Azt akarja, hogy az alkalmazottak a teljes munkaidőben dolgozó kapott egy figyelmeztetést sudo, a felhasználó millert ne adja meg a jelszót, és nem akarjuk, hogy állítsa vissza a környezeti változók LOGNAME, USER vagy felhasználónevét parancs végrehajtása root. Ezen kívül a gépek Host_Alias ​​SZERVERNÉL tartjuk további helyi naplófájlt és győződjön meg arról, hogy lesz jelentkezve minden évben sor a naplók tárolására évekig. Végül a biztonság a csapatok számára a listán pagerekben tiltjuk képes futtatni más parancsot.

# Felülírása beépített alapbeállítások
Alapértékek syslog = auth
Alapértékek> gyökér! Set_logname
Alapértékek: FULLTIMERS előadás!
Alapértékek: millert hitelesíteni!
[E-mail védett] log_year, logfile = / var / log / sudo.log
Alapértékek! Pagers noexec

Ezután jön az a része, amely meghatározott, aki tudott futni.

root ALL = (ALL) ALL
% Wheel ALL = (ALL) ALL

Mi teszi rue és minden felhasználó a csoport kerék fut semmilyen parancsot bármely host, mint bármely felhasználó számára.

FULLTIMERS ALL = NOPASSWD: ALL

Az alkalmazottak a teljes munkaidőben dolgozó (millert, mikef és slampos) futhatnak olyan parancs minden gazda jelszó megadása nélkül.

PARTTIMERS ALL = ALL

Dolgozók egy részét a nap (bostley, jwfox és csúszás) is végezhetnek semmilyen parancsot bármely host, de először át kell menni a hitelesítési eljárást.

jack CSNETS = ALL

Felhasználói jack bármilyen parancsot képes futtatni a gépek CSNETS listából.

üzemeltető ALL = guba, megöl, leállítás, halt, reboot, NYOMTATÁS, \
sudoedit / etc / printcap, / usr / oper / bin /

A kezelő parancsok futtatására korlátozódik egyszerű támogatási rendszert. Ezek a parancsok létrehozásával kapcsolatos biztonsági mentések, a folyamat a gyilkos, nyomtatási rendszer, válassza le a rendszert, és parancsokat a / usr / oper / bin /.

joe ALL = / usr / bin / su operátor

Felhasználói joe csak a su válni felhasználó üzemben.

pete HPPA = / usr / bin / passwd [A-Za-z] *. / Usr / bin / passwd gyökér

% Operátoraidat ALL = (: ADMINGRP) / usr / sbin /

A tagok a csoport operátorok futtatható parancsok a / usr / sbin / nevében maga összefüggésben bármely csoportjának Runas_Alias ​​ADMINGRP (ADM-csoport és oper).

Pete felhasználó módosíthatja bármelyik felhasználó jelszavát, kivéve a root a HPPA bármilyen készüléket a listából. Ebben az esetben nem lesz képes megadni több felhasználónevet a parancssorban.

bob SPARC = (OP) ALL. SGI = (OP) ALL

Bob felhasználó semmilyen parancsot végrehajtani gépeken a SPARC és az SGI csoportok nevében az emberek Runas_Alias ​​OP (gyökér és operátor).

jim + biglab = ALL

A felhasználó jim futhatnak semmilyen parancsot biglab hálózatcsoportokat. Sudo tudja, hogy biglab - hálózati csoport révén „+” előtagot.

Fred ALL = (DB) NOPASSWD: ALL

John ALPHA = / usr / bin / su [-!] *. / Usr / bin / su * root *

ALPHA a gépek listáját felhasználó john használhatja su válik minden felhasználó csak a root. Azonban ő nem használja fel a paramétereket a su paranccsal.

jen ALL. SERVERS = ALL

A felhasználó jen futhatnak olyan parancs minden gépen, kivéve azokat, amelyek a kiszolgálók listája.

Jill SERVERS = / usr / bin /. SU. SHELLS

Bármelyik gép kiszolgálók listája, Jill futhat bármilyen parancsot, kivéve szereplő SU és a kagyló listákat.

Steve CSNETS = (operátor) / usr / local / op_commands /

A felhasználó Steve futhatnak semmilyen parancsot az / usr / local / op_commands / CSNETS a gép a hálózatban, de csak a felhasználó üzemben.

Matt Valkyrie = kill

Az ő személyes munkaállomás matt felhasználó igényli képes megölni folyamatokat.

WEBMESTEREK www = (www) ALL, (root) / usr / bin / su www

A fogadó www, bármely felhasználó a WEBMESTEREK listáját (Wendy és a Wim) futhatnak olyan parancs a felhasználó www (amely a webhely tulajdonosa fájlok), vagy csak egyre www felhasználó használja a su parancsot.

ALL CD-ROM = NOPASSWD: / sbin / umount / CD-ROM, \
/ Sbin / mount -o nosuid \, nodev / dev / cd0a / CD-ROM

Bármely felhasználó szerelhető, vagy leválasztani a CD-ROM-on a gépek a CD-ROM-lista a jelszó megadása nélkül.

Ezután részletesen elemezzük a különböző elemeit az / etc / sudoers.

Fájlformátum sudoers

sudoers fájl tartalmazza kétféle bejegyzések: álnevek (globális változók) és a felhasználói adatok (adja ki, mit és hol lehet futtatni).

Ha több előírásokat egyetlen felhasználó, alkalmazzák őket abban a sorrendben használják az utóbbi.

Ennek eredményeként, a forma specifikáció a következő:

aki hol = (akinek a nevében), hogy

Egy teljesebb formában:

aki hol = (valaki nevében), amely (valaki nevében), hogy. ahol = (valaki nevében), amely (akinek a nevében), hogy

Azt is megadhatja, hogy mely csoportokat lehet futtatni a következő parancsot:

aki hol = (valaki nevében. egy csoport), amely

Vagy akár egy bonyolultabb változata:

= Ahol valaki (akinek a neve, valaki nevében. Egy csoportja a csoportban), hogy ez a

A konzolok egy felhasználó vagy csoport parancs futtatásához. A felhasználók és a csoportok vannak elválasztva egymástól vesszővel. A csoportok tagjai választja el.

Ha szeretné, hogy egyetlen felhasználó számára a különböző beállításokat a különböző gépek, a távolságot a vastagbél is használják.

user1 host1 = (op. opgr) / bin / ls

Ez a szabály azt mondja, hogy a felhasznalo1 felhasználó végre a parancsot a / bin / ls az alábbiak szerint:

Form alias bejegyzések

Tip_aliasa Name = 1. pont 2. bekezdés Name = 3 bekezdés, 4. bekezdés

Alias ​​név állhat betűkből két nyilvántartást, számok és aláhúzás. Név kell kezdődnie egy nagybetű.

típusú álnevek

User_Alias

Ez tartalmazhat egy vagy több felhasználó neve, azonosító felhasználók (előtagot #), nevét felhasználói csoportok és azok id (előtagja% és% # -kal), hálózati csoportokat (előzi +), a nem-yunikosovye csoport nevét és azonosító (a előtétek%:% és # -kal), valamint a felhasználói alias (User_Aliases). Minden elem előzheti meg egy felkiáltójelet ( „!”).

Tételeket lehet idézőjelek közé, hogy ne lehessen a menekülő speciális karaktereket. Ha idézőjelek között előtagokat szerepelnie kell a szövegben az idézőjelek között.

Runas_Alias

Ez az alias tartalmazhat az azonos elemeket User_Alias. Felhívjuk figyelmét, hogy a nevek és csoportok, mint például a szálakat. Más szóval, a két felhasználó (csoport) különböző nevekkel, de ugyanazzal a uid (gid) minősülnek különböző. Ha azt szeretnénk, hogy kiválassza az összes felhasználó neve azonos uid (pl root, toor), akkor a uid (# 0 ebben a példában).

Host_Alias

Cmnd_Alias

A lista egy vagy több parancsot, könyvtárak, vagy más álnevek. A csapat - a teljes nevét a fájl (azaz, amely tartalmazza a fájl elérési útját), amely tartalmazhat joker karaktereket. Egy egyszerű fájlnév lehetővé teszi a felhasználó futtatni a parancsot olyan érveket. Ugyanakkor azt is megadhatja, parancssori (beleértve a karakterek). Másrészt, megadhatja a „” megakadályozzák, hogy a semmilyen érvet, hogy ezt a parancsot. Directory - a teljes elérési útvonalat végződik a „/”. Ha a könyvtár szerepel Cmnd_Alias, a felhasználó futtatni bármely fájl belül a könyvtárban (de nem az alkönyvtárakban).

nyomós defaults

Néhány opció lehet változtatni a futás alatt egy vagy több nyilvántartást alapértékek, ami hatással lehet az összes felhasználó bármely host, minden felhasználó egy adott host egy adott felhasználó egy adott parancs vagy parancson egy adott felhasználó által. Érdemes megjegyezni, hogy a nyilvántartást az egyes csapatok nem tartalmazhat érveket. Ha meg szeretné határozni érveket, meg Cmnd_Alias ​​és használják.

Alapértékekre felvétel a különböző álnevek által használt különböző szimbólumokkal típusát jelző egy alias:

'Alapértékek' '@' Host_List
'Alapértékek' ':' USER_LIST
„Alapértékek” „!” Cmnd_List
'Alapértékek' '>' Runas_List

A paraméterek lehetnek zászlók, egész számok, karakterláncok és listák. Zászlók logikai és ki lehet kapcsolni a „!” Operator. Az értékek idézőjelek közé, ha tartalmaznak több szót. Különleges karakterek lehet egy backslash (\).

List két értékadó operátor + = és - =. Ezek az operátorok használnak hozzá, és távolítsa el a listáról, ill.

„Alapértékek” bejegyzés feldolgozása a következő sorrendben: az első, alapvető, a házigazdák és a felhasználók, majd runas, és végül a csapatok.

Kulcsszavak

C paranccsal lehet nulla vagy több kulcsszót. Nyolc kulcsszavak: NOPASSWD, PASSWD, noexec, EXEC, SETENV, NOSETENV, LOG_INPUT, NOLOG_INPUT, LOG_OUTPUT és NOLOG_OUTPUT.

NOPASSWD és PASSWD

user1 host1 = NOPASSWD: / bin / ls, / bin / ln, PASSWD: / bin / kill

Noexec és EXEC

Noexec lehet használni, hogy megakadályozzák a dob egy dinamikusan linkelt futtatható a rendelkezésre álló parancsok végrehajtását. például:

user1 host1 = noexec: / usr / bin / több

joker

sudo lehetővé teszi a használatát helyettesítő karaktereket (valamint a meta vagy globális szimbólum) gépnevekben, utak és parancssori a sudoers fájlt. Érdemes megjegyezni, hogy ez nem egy reguláris kifejezés.

* - Lecseréli nulla vagy több karaktert.
? - helyettesít egyetlen karaktert helyettesít.
[. ] - helyettesít minden szimbólum egy adott tartományban.
[. ] - helyettesít minden szimbólum kívül esik a megadott tartományon.
\ - escape karakter nevek, hogy képes legyen használni speciális karaktereket.

Ön is használja karakterosztály. Azonban, mivel dvoetochnie ( „:”) egy különleges karakter, meg kell képernyőn:

ez lesz minden fájlt betűvel kezdődik.

Ezen túlmenően, a perjel nem váltja helyettesítő karaktereket. Például:

felel meg a / usr / bin / aki, de nem felel meg a / usr / bin / X11 / xterm.

Ahhoz, hogy megtiltsa a parancssori használhatja idézőjelben - „”.

A felvétel tartalmának más fájlokat is sudoers

Inclusion ( „tartalmazza veszélyeztetettség” származó tartalmazzák) a tartalmát más fájlokat is lehetséges a #include direktívák és #includedir.

Ezt fel lehet használni egy olyan helyzetben, ahol már iránymutatások sudo közös minden szerver és az egyes szerver. Ebben az esetben, akkor létrehozhat két fájl, például, és a sudoers sudoers.local. Ezután a második inkluda első via irányelvek (együtt a rács ikonra):

Ön is létrehozhat fájlokat különböző részei időszak után megfelelő kiszolgáló nevét és inkluda azokat az alábbiak szerint:

ahol ahelyett, hogy az% h szubsztituált hostname.

Ami #includedir irányelvet. létrehozhat egy mappát, amelyben a fájlokat lehet adni, és azokat automatikusan tartalmazza a sudoers fájlt. Például, miután a Debian telepítése sudo /etc/sudoers.d/ létrehozott könyvtárba. és az / etc / sudoers adunk értelmében:

Érdemes megjegyezni, hogy a fájlok feldolgozása és rendezve lexikailag helyett számát. Azaz például /etc/sudoers.d/01_first fájl kerül feldolgozásra, mielőtt /etc/sudoers.d/10_second, de a fájl neve /etc/sudoers.d/1_whoops után kerül feldolgozásra /etc/sudoers.d/10_second mert az első név nem nulla.

További speciális karakterek

ALL - ez egy fenntartott szó, amely meghatározza a lehetséges értékeket. Ezt fel lehet használni, hanem bármely felvett és értékek terén „aki”, „adott”, „a”, „mi”. Ne próbálja meg létrehozni álneveket nevű ALL.

A felkiáltójel ( „!”) Használjuk a logikai tagadás művelete (nem), és lehetővé teszi, hogy bizonyos értékeket. Például akkor teszi lehetővé, hogy végez semmilyen műveletet, kivéve néhány használat és minden! " ”.

Hosszú sorok osztható alsztringek segítségével egy rep ( „\”) állt a végén minden részsztring, kivéve az utolsó.

Az elemek közötti résekbe a „=”, „:”, „(”, „)” nincs szükség. Azaz, lehet használni, és nem tudja használni.

A következő karakterek használatával kell kiléptetni egy rep ( „\”):

Kapcsolódó cikkek