az átfogó útmutató a Master Sudoers fájlhoz.

Harshát Koushik

Kövesse

Apr 18, 2020 · 10 perc olvassa el a

Mi a Sudoers Fájlt?

a sudoers fájl olyan, mint bármely más fájl a Linux operációs rendszeren., De létfontosságú szerepet játszik annak kezelésében, hogy egy “felhasználó” vagy “csoport felhasználói” mit tehetnek a rendszeren.

miért a sudoers név?

a sudo szó a “Super User Do”kifejezés rövidítése. Ahogy világosan sugallja — ez olyan, mint mondani a Kernel/OS ” nincs más választása, csak csináld!”. Tehát a sudo engedéllyel rendelkező felhasználókat Sudo felhasználóknak hívják. Ezeknek a sudo felhasználóknak a kezelése egy sudoers fájlnak nevezett fájlon keresztül történik. Ez a fájl az /etc könyvtárban is él, mint bármely más konfigurációs fájl.,

kép-1. Sudoers fájl /etc könyvtárban. Operációs rendszer: Kali Linux 2019.4

miért sudoers Fájl?

a Linux normál felhasználójának számos korlátozása lesz a rendszerben. Például-a felhasználó alapértelmezés szerint nem tud elindítani egy szolgáltatást, megváltoztatni egy konfigurációs fájlt vagy végrehajtani egy szkriptet a rendszeren. Biztonsági szempontból ez tökéletesnek tűnik.,

de vegyünk egy példát-Ön, mint rendszeradminisztrátor, kezelnie kell az összes felhasználót és azok vezérlőit. Van egy honlap házigazdája Apache az egyik szerverek. Már van egy Web-Admin kezelni. A felhasználót létre kell hozni neki a webszerveren. Ez a felhasználó számára lehetővé kell tenni, hogy két dolgot, amit egy normál felhasználó nem:

  • Start / Restart Apache szolgáltatás esetén leáll.
  • szerkessze az Apache konfigurációs fájlját.

alapértelmezés szerint két felhasználói lehetősége van:

  1. Root felhasználó, amely rendelkezik a rendszer összes engedélyével, beleértve az Apache-t is.,
  2. egy normál felhasználó, amely alapértelmezés szerint nem tudja elindítani a Szolgáltatást, vagy szerkeszteni a rendszer konfigurációs fájljait.

Ez az, amikor egy sudoers fájl hasznos lesz az Ön számára. A sudoers fájlban pontosan meghatározhatjuk:

  • Web-Admin felhasználó csak az Apache szolgáltatást indíthatja el &
  • csak az Apache Config fájlt szerkesztheti.

játszik a Sudoers Fájl

elég elmélet, kezdjük ezzel az igazi cucc most. Néhány példával elmagyarázom a Sudoers fájl minden szakaszát., Alapértelmezés szerint egy sudoers fájl így néz ki —

kép-2. Szerkesztetlen Sudoers Fájl. Operációs rendszer: Kali Linux 2019.4

elsősorban a fájl öt szakaszát láthatjuk-a fájl első három szakasza a gazdagép, a felhasználó és a Cmnd ÁLNEVÉHEZ kapcsolódik., Az ALIASRÓL később fogunk beszélni, először beszéljünk a fő szakaszról:

#felhasználói jogosultság specifikáció

root ALL = (ALL: ALL) ALL

Megjegyzés: “# ” Megjegyzés a fájlban, az operációs rendszer figyelmen kívül hagyja ezt a sort a végrehajtás közben.,

szintaxis : User <space> OnHost = (Runas-Felhasználó:Csoport) <space> parancs

példa: root all = (all:all) all

read it as — user root bármilyen parancsot futtathat, mint bármely Felhasználó bármely csoportból bármely gazdagépen.

→ az első mindent a gazdagépek meghatározására használnak. Mi lehet meghatározni Hostname / Ip-cím helyett az összes. Minden azt jelenti, minden fogadó.

→ második minden: harmadik minden felhasználó: csoport., Ahelyett, hogy minden tudjuk meghatározni Felhasználó vagy felhasználó a csoport, mint a Felhasználó: Csoport. Minden: minden azt jelenti, minden felhasználó és minden csoport.

→ Az utolsó minden a parancs. Ehelyett megadhatunk egy parancsot vagy parancskészletet. Minden azt jelenti, minden parancs.

ahhoz, hogy nagyon egyszerű legyen, “ki hol = (as_whom) mi”.

Megjegyzés: A legtöbb ember távoli házigazdaként érti a házigazdákat. Ez a helyi HOSTNAME / IP-cím., A HOSTS mezőt ritkán használják, ha többet szeretne tudni a sudoers GAZDAGÉPEIRŐL, kérjük, olvassa el → https://www.sudo.ws/man/1.7.10/sudoers.man.html

alapvetően megengedhetjük a felhasználónak, hogy csak két módon tegyen valamit —

  1. közvetlenül adjon neki engedélyt a parancs végrehajtására a fájl engedélyének módosításával.
  2. engedje meg neki, hogy végrehajtsa a parancsot más felhasználóként, amely már rendelkezik a parancs végrehajtására vonatkozó engedéllyel.

a Sudoers fájlban az utóbbit fogjuk végrehajtani.,

egy másik példát fogunk használni, hogy világosan megértsük a szintaxis mezőit:

példa: sysadmin ALL = (root) /usr/bin/cat /etc/shadow

olvassa el ezt a “sysadmin” felhasználóként futtathatja a “/usr/bin/cat /etc/shadow” parancsot, mint ROOT felhasználó az összes gazdagépen.

itt a fenti példában, a parancs részben — valami többet adtam hozzá, mint egy parancs, ez a sudoers fájl rugalmasságának megjelenítése. A “/usr/bin/cat ” rész egy bináris futtatható fájl vagy parancs, amelyet egy fájl tartalmának megtekintésére használnak., Az ” / etc / shadow “rész egy bizalmas fájl, amely jelszavakat tárol, tehát azt jelenti, hogy a” sysadmin “felhasználó csak” /usr/bin/cat “on” /etc/shadow ” fájlt futtathat, ha ez a felhasználó megpróbálja megtekinteni bármely más fájl tartalmát, amelyen nincs olvasási engedélye, akkor nem lesz képes.,

Szintaxis a Sudo parancsot: sudo <parancs>

Például: sudo cat /etc/shadow

ha a felhasználó a “rendszergazda” használ sudo mielőtt bármilyen parancs, OPERÁCIÓS rendszer első kérdezd meg a Felhasználó Jelszavát, ellenőrzi a jelszót, aztán megy Sudoers fájlt, majd ellenőrzi, ha megengedik neki, hogy kiadja ezt a parancsot, mint bármely felhasználó. Ha megengedett-siker, különben a két dolog egyikét jelenti –

→ a felhasználó nincs a Sudoers fájlban. Az esetet jelenteni fogják.,

Note : You can see this reported incident in /var/log/auth.log

Image-3. Incident Report — Sudoers. Operating System: Kali Linux 2019.,4

→Sorry, user <username> is not allowed to execute <command> as <User> on <hostname>

Image-4. Cannot Execute Command in Sudoers. Operating System: Kali Linux 2019.,4

itt a felhasználói webadmin csak”cat /etc/shadow” futtatható. De megpróbálta futtatni a ” cat “parancsot az” /etc/gshadow ” – on, ami nem megengedett.

mivel van elég fogást a mezőket a szintaxis Sudoers fájl, menjünk előre, és megérteni más szakaszok a fájlban. Az összes többi szakasz a már tárgyalt alapszakasztól függ.,

a következő szakasz a csoport szakasz, amely

# lehetővé teszi a sudo csoport tagjainak, hogy bármilyen parancsot végrehajtsanak

%sudo ALL = (ALL:ALL) ALL

Percentile symbol ‘%’ egy csoportot képvisel a Sudoers fájlban. Az ebben a szakaszban található összes mező és azok funkcionalitása pontosan megegyezik az előző részben — a felhasználó részben tárgyalt mezőkkel. Ugyanazt a Sudo jogosultságot rendelhetjük egy csoporthoz a felhasználó helyett a csoport nevének megadásával – %<csoport neve>., Tehát a csoport minden tagja ugyanazokat a kiváltságokat fogja örökölni, mint a csoport.

alapértelmezés szerint létezik egy sudo csoport, amelyet a sudoers fájl definiál. Láthatjuk, hogy ezek az engedélyek pontosan ugyanazok, mint a gyökérfelhasználók engedélyei a fájlban. Tehát ha egy felhasználó tagja ennek a SUDO csoportnak, akkor végrehajthatja az összes parancsot, amelyet a ROOT felhasználó végrehajthat.

definiáljunk egy egyéni csoportot, és értsük világosabban a szintaxist. Vegyük ugyanazt a régi Rendszeradmin példát erre. Tegyük fel, hogy nem. az alkalmazottak több most, így a rendszer adminok 3 most., Mindegyiknek ugyanolyan pontos engedélyekre van szüksége,amelyeket az első rendszeradminisztrátornak adtunk. Egy dolog, amit tehetünk, hogy elérjük ezt a három bejegyzést mind a három rendszer adminok a sudoers fájlt. Ha ezzel a megközelítéssel megyünk, megsértjük a Sudoers Fájl képességeit.

a legjobb dolog az, hogy a három Rendszeradminisztrátort csoportosítsuk egy “SystemAdminGroup” nevű csoportba., Meg fogjuk határozni a szükséges engedélyeket ebben a csoportban —

%SystemAdminGroup ALL = (root) /usr/bin/cat /etc/shadow

most mind a három rendszergazda végrehajthatja a kiváltságos parancsot. Mi ezt egy menetben a csoport meghatározása.

sudoers fájl képes arra, hogy ez az egész folyamat hatékonyabb segítségével különböző funkciókat. Ennek eléréséhez az első három szakasz-álneveket használják., Ahogy a szó már sugallja, álnevet használunk valamire, amelyet az egész fájlban használhatunk, olyan, mint egy szkript globális változója. Hogyan teszi ez az egészet hatékonyabbá? Határozhatunk meg, állítsa be a parancsokat, a házigazdák pedig a felhasználók egy sorban, mi adhatja ez a vonal, hogy egy ALIAS nevet, ez az álnév lesz használható bárhol, bármikor szükség nélkül meghatározása a parancsok/hosts/users újra.

Szeretnék még egy álnevet felvenni, amely alapértelmezés szerint nem szerepel a Sudoers fájlban, amely “Run_as ALIAS”., Most már négy ÁLNEVÜNK van —

  1. User_alias
  2. Run-as ALIAS as Runas_Alias
  3. Host ALIAS as Host_Alias
  4. Command ALIAS as Cmnd_Alias

Megjegyzés : Az Alias nevét nagybetűkkel kell definiálni, és tartalmazhat számot, ábécétet és betűket.aláhúzás (_). Alias név kell kezdeni ábécé.,3e”>

ALIAS Név> = <username>,<username>, <username>…

Példa: User_Alias SYSADMINS = john,tim,tom

Használat: SYSADMINS MINDEN = (root) a /usr/bin/cat /etc/shadow

Ha azt akarom, hogy egy sor sudo engedélyek meghatározott, a felhasználók számára — john, tim tom, nem kell meghatározni, háromszor, hanem azt is meghatározza, Álnév használatát, Alias Név, amíg kiosztottam a sudo azokhoz való hozzáférést.,

Image-5. User Alias in Sudoers File. Operating System: Kali Linux 2019.,figcaption>

Run As ALIAS Syntax —

Runas_Alias <ALIAS Name> =<username>,<username>,<username>…

Example: Runas_Alias MGRS = root,sradmin

Usage: systemadmin ALL = (MGRS) /usr/bin/cat /etc/shadow

If i want to define the set of users a user can run a command as, i can use Runas_Alias., Ne zavarodj itt, csak emlékezz a mester mantrára-ki hol = (as_whom) mit. Itt egy álnevet használunk, hogy ne legyen. a felhasználók “as_whom” mezőben.

Kép-6. Runas Alias a Sudoers fájlban. Operációs Rendszer: Kali Linux 2019.,4

Host ALIAS Syntax —

használat: systemadmin HOSTS = (root) /usr/bin/cat /etc/shadow

Ha meg kell határoznom a hostnames, ip-címek vagy ip-címtartományt, amelyen a felhasználó kiadhatja a kiváltságos/Sudo parancsokat, ezt a Host Alias használatával tudom elérni. Ez a rész ismét a” hol ” mezőhöz tartozik a Mestermondatban.

kép-7. Host Alias a Sudoers fájlban., Operációs Rendszer: Kali Linux 2019.,iv id=”1ffdf0e914″>

Cmnd_Alias <ALIAS Name> = <cmd1>,<cmd2>, <cmd3>…

Example: Cmnd_Alias SYSADMIN = /usr/sbin/apache2, /usr/bin/cat

Usage: systemadmin ALL = (root) SYSADMIN

If i need to permit a user to execute a set of commands as SUDO, i can define them under a Cmnd_Alias Section and use this ALIAS name while delegating the access., Ez a rész a” mi ” mezőhöz tartozik a Mestermondatban.