Weboldal keresés

A sudo és a sudo közötti különbség, valamint a sudo konfigurálása Linuxban


A Linux rendszer sokkal biztonságosabb, mint bármelyik megfelelője. A Linux biztonságának megvalósításának egyik módja a felhasználókezelési házirend és a felhasználói engedély, a normál felhasználók pedig nem jogosultak semmilyen rendszerműveletre.

Ha egy normál felhasználónak bármilyen rendszerszintű változtatást kell végrehajtania, akkor a „su” vagy a „sudo” parancsot kell használnia.

MEGJEGYZÉS – Ez a cikk inkább az Ubuntu alapú disztribúciókra vonatkozik, de alkalmazható a legtöbb népszerű Linuxra is. disztribúciók.

„su” vs „sudo”

A 'su' arra kényszeríti, hogy megossza root jelszavát más felhasználókkal, míg a 'sudo lehetővé teszi a végrehajtást rendszerparancsok root jelszó nélkül. A 'sudo' lehetővé teszi, hogy saját jelszavát használja a rendszerparancsok végrehajtásához, azaz a rendszer felelősségének átruházása root jelszó nélkül.

Mi az a "sudo"?

A 'sudo' egy root bináris setuid, amely root parancsokat hajt végre a jogosult felhasználók nevében, és a felhasználóknak meg kell adniuk saját jelszavukat a végrehajtáshoz. rendszerparancs, majd a 'sudo'.

Ki tudja végrehajtani a „sudo”-t?

A „/usr/sbin/visudo” futtatásával hozzáadhatjuk vagy eltávolíthatjuk azon felhasználók listáját, akik képesek végrehajtani a „sudo” parancsot.

sudo /usr/sbin/visudo

A „/usr/sbin/visudo” fájl képernyőképe valahogy így néz ki:

A sudo lista alapértelmezés szerint az alábbi karakterlánchoz hasonlóan néz ki:

root ALL=(ALL) ALL

Megjegyzés: A /usr/sbin/visudo szerkesztéséhez root szükséges fájlt.

Sudo hozzáférés engedélyezése

Sok esetben a Rendszeradminisztrátor, amely kifejezetten új a területen, megtalálja a „root ALL=(ALL) ALL” karakterláncot sablonként, és korlátlan hozzáférést biztosít másoknak, amelyek potenciálisan nagyon káros.

A „/usr/sbin/visudo” fájl szerkesztése az alábbi mintához hasonlóra valóban nagyon veszélyes lehet, hacsak nem hisz a felsorolt összes felhasználóban.

root ALL=(ALL) ALL
adam ALL=(ALL) ALL
tom ALL=(ALL) ALL
mark ALL=(ALL) ALL

A sudo paraméterei

A megfelelően konfigurált 'sudo' nagyon rugalmas, és a futtatandó parancsok száma pontosan beállítható.

A konfigurált „sudo” sor szintaxisa a következő:

User_name Machine_name=(Effective_user) command

A fenti szintaxis négy részre osztható:

  1. Felhasználónév: Ez a „sudo” felhasználó neve.
  2. Gép_neve: Ez az a gazdagépnév, amelyben a ’sudo’ parancs érvényes. Hasznos, ha sok gazdagépe van.
  3. (Effective_user): Az „effektív felhasználó”, aki végrehajthatja a parancsokat. Ez az oszlop lehetővé teszi a felhasználók számára a rendszerparancsok végrehajtását.
  4. Parancs: parancs vagy parancskészlet, amelyet a felhasználó futtathat.

Javasolt olvasmány: 10 hasznos Sudoer-konfiguráció a „sudo” beállításához Linuxban

Néhány helyzet és a hozzájuk tartozó „sudo” sor:

1. Q. Van egy felhasználói jelölése, amely adatbázis-adminisztrátor. Csak az adatbázis-kiszolgálón (beta.database_server.com) kell neki minden hozzáférést biztosítania, nem pedig bármely gazdagépen.

A fenti helyzetben a 'sudo' sor a következőképpen írható:

mark beta.database_server.com=(ALL) ALL

2. Q. Van egy "tom" nevű felhasználója, akinek a rendszerparancsot más felhasználóként kell végrehajtania, mint root ugyanazon az adatbázis-kiszolgálón (magyarázat fent).

A fenti helyzetben a 'sudo' sor a következőképpen írható:

mark beta.database_server.com=(tom) ALL

3. Q. Van egy "cat" nevű sudo-felhasználója, akinek a következő parancsot kell futtatnia: " csak kutyanak.

A fenti helyzet megvalósításához a „sudo” kifejezést a következőképpen írhatjuk:

mark beta.database_server.com=(cat) dog

4. kérdés. Mi a teendő, ha a felhasználónak több parancsot kell adni?

Ha a felhasználó által futtatni kívánt parancsok száma 10 alatt van, akkor az összes parancsot egymás mellé helyezhetjük, köztük szóközzel, az alábbiak szerint:

mark beta.database_server.com=(cat) /usr/bin/command1 /usr/sbin/command2 /usr/sbin/command3 ...

Ha ez a parancslista a tartományonként változik, ahol szó szerint nem lehetséges az egyes parancsok manuális beírása, aliasokat kell használnunk. Álnevek! Igen, a Linux segédprogram, ahol egy hosszú parancsot vagy parancslistát kicsi és egyszerű kulcsszóként lehet hivatkozni.

Néhány alias példa, amely a „sudo” konfigurációs fájlban a bejegyzés helyett használható.

User_Alias ADMINS=tom,jerry,adam
user_Alias WEBMASTER=henry,mark
WEBMASTERS WEBSERVERS=(www) APACHE
Cmnd_Alias PROC=/bin/kill,/bin/killall, /usr/bin/top

Megadhat egy Rendszercsoportot a felhasználók helyett, amelyek ehhez a csoporthoz tartoznak, csak a „%” utótaggal, az alábbiak szerint:

%apacheadmin WEBSERVERS=(www) APACHE

5. kérdés. Mit szólnál egy 'sudo' parancs végrehajtásához jelszó megadása nélkül?

A 'sudo' parancsot jelszó megadása nélkül is végrehajthatjuk a 'NOPASSWD' jelző használatával.

adam ALL=(ALL) NOPASSWD: PROCS

Itt az 'adam' felhasználó végrehajthatja az összes parancsotalias a "PROCS" alatt, jelszó megadása nélkül.

Javasolt olvasmány: Hagyja, hogy a Sudo megsértse Önt, ha helytelen jelszót ad meg

A „sudo” robusztus és biztonságos környezetet biztosít, rengeteg rugalmassággal a „su”-hoz képest. Ezenkívül a „sudo” konfigurálása egyszerű. Egyes Linux-disztribúciókban alapértelmezés szerint engedélyezve van a „sudo”, míg a legtöbb mai disztribúciónak Biztonsági intézkedésként engedélyeznie kell.

Felhasználó (bob) hozzáadásához a sudo-hoz egyszerűen futtassa az alábbi parancsot rootként.

adduser bob sudo

Ez minden most. Ismét itt leszek egy másik érdekes cikkel. Addig is maradjon velünk, és csatlakozzon a Tecminthoz. Ne felejtse el értékes visszajelzését megadni a megjegyzés rovatunkban.