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 ( „\”):