Sudo (orosz)

Ez az oldal kíséretet igényel

sudo (Eng. helyettesítő felhasználó csinálni. szó „helyettesítő felhasználó és fuss”) lehetővé teszi, hogy a rendszergazda a megfelelő felhatalmazást adni bizonyos felhasználók (vagy felhasználói csoportok) képes futtatni néhány (vagy az összes) parancsok c root vagy más felhasználó, amely felett csapatok és érveik.

logika

A Sudo a su alternatívája a parancsok végrehajtására superuser jogosultságokkal (root). Ellentétben a su. amely a shell-t gyökérként futtatja és minden további gyökérparancs engedélyt ad, a sudo ideiglenes jogosultságnövelést biztosít egy parancs számára. Ha szükség esetén root jogosultságokat ad meg, akkor a sudo használata csökkenti azt a valószínűséget, hogy a végrehajtandó parancs hibája vagy hibája pusztító hatással jár a rendszerben.

A Sudo is használható parancsok végrehajtására más felhasználók nevében; Ezenkívül a sudo naplózza az összes parancsot és sikertelen hozzáférési kísérletet a biztonsági auditáláshoz.

Ha a sudo-t nem korlátozott felhasználónak szeretné használni, akkor megfelelően kell konfigurálnia. Ehhez olvassa el a konfigurációról szóló részt.

használata

A felhasználók a sudo szóval előtagozhatják a parancsokat. Végrehajtani őket a felhatalmazó (vagy más felhasználó) kiváltságaival.

Például a pacman használatához:

További információ a sudo kézikönyvben található.

Végezze el a sudo -ll parancsot az aktuális sudo konfiguráció megjelenítéséhez.

Visudo használata

Az / etc / sudoers konfigurációs fájlt mindig a visudo parancs segítségével kell szerkeszteni. visudo zárolja a sudoers fájlt. az ideiglenes fájl módosításait és a fájl nyelvtani helyességét ellenőrzi, mielőtt az / etc / sudoers fájlba másolná.

Fontos:
  • Rendkívül fontos, hogy a sudoers fájlnak nincsenek szintaktikai hibái! Bármely hiba miatt a sudo végrehajtható. Mindig csak a visudóval módosítsa, hogy megakadályozza a hibákat.
  • Visudo (8). Ne feledje, hogy ez a lyuk biztonságos, mivel lehetővé teszi a felhasználó számára, hogy bármilyen programot futtasson, egyszerűen a VISUAL vagy EDITOR regisztrálásával.

Példák a beállításokra

A sudo beállítása az / etc / sudoers fájl bejegyzéseinek hozzáadásával történik. A felhasználói felületi jogosultságok megadása érdekében, amikor a parancs előtt adja meg a sudo-t, adja hozzá a következő sort:

Engedélyezze a felhasználó számára, hogy végrehajtson minden parancsot bármelyik felhasználótól, csak olyan gépen, amely egy adott gazdagépnévvel rendelkezik:

Adja meg a kerékcsoport tagjait sudo access:

Annak érdekében, hogy ne kérdezze meg a felhasználó jelszavát:

Csak bizonyos parancsokat szabad végrehajtani, és csak a megadott gépen lévő felhasználó számára:

Megjegyzés: A leggyakoribb beállításoknak a fájl elején kell lenniük, és a leggyakoribbak, éppen ellenkezőleg, a fájl végén, mivel az alsó sorok felülbírálják a fájlokat. Különösen a hozzáadott vonalnak kell lennie a vonal% kereke után. ha a felhasználó ebben a csoportban van.

Bizonyos specifikus parancsok engedélyezése csak az adott gazdagép felhasználójára és jelszó nélkül végezhető el:

A sudoerek részletes példája a / usr / share / doc / sudo / examples / sudoers könyvtárban található. További részletekért lásd a sudoers kézikönyvét.

Engedélyek a sudoers alapértelmezett fájlokhoz

A sudoers fájlnak gyökér tulajdonosának és gyökércsoportjának kell lennie (0). Az engedélyeket mindig r-r ----- (0440) -ként kell beállítani. Ezek a jogok alapértelmezés szerint be vannak állítva, de ha véletlenül megváltoztatod őket, azonnal vissza kell cserélni őket, különben a sudo nem fog működni.

A megadott jelszó időtartama

Lehet, hogy meg szeretné változtatni az időt, ameddig a sudo nem fog jelszót megadni. Ezt egyszerűen el lehet érni, ha az időzített / időzített opciót hozzáadjuk az / etc / sudoershez.

Például az időtúllépés 20 percre történő beállításához:

Tipp: Ha azt szeretné, hogy a sudo mindig jelszót kérjen, állítsa be a timestamp_timeout értékét 0. Ha soha nem jár le, állítson be minden negatív értéket.

Tippek és trükkök

Az automatikus kitöltés a Tab bash bash megnyomásával történik

Egy időzítés minden terminálon

Fontos: Ez lehetővé teszi bármelyik folyamat számára a nyitott sudo munkamenet használatát.

Ha nem akarja újra beírni a jelszót minden egyes új terminál megnyitásakor, tiltsa le a tty_ticket-et.

Mindig mutasson biztonsági figyelmeztetést

Az / etc / sudoers alapértelmezés szerint úgy van beállítva, hogy a sudo csak a kapcsolat megnyitásának első alkalmával jelezzen biztonsági figyelmeztetést:

Ha ezt az üzenetet mindig szeretné megjeleníteni, akkor módosítsa a / etc / sudoers parancsot. Csere:

vagy csak add meg ezt a sort, ha nincs ott.

Környezeti változók

Ha sok környezeti változó van, vagy exportálta a proxy beállításait export http_proxy = "." A sudo használatakor ezek a változók nem kerülnek továbbításra a nyitott munkamenetben, hacsak nem futtatod a sudo -ot az -E opcióval.

A környezeti változók mentésének ajánlott módja az env_keep regisztrálása.

Alias ​​leképezés

Ha sok álnév van telepítve, előfordulhat, hogy nem kerülnek át a sudo munkamenetbe. Ez azonban könnyen megoldható. Csak add hozzá

/.bashrc vagy /etc/bash.bashrc string:

Humoros sértések

A sudo beállítható úgy, hogy amikor rossz jelszót ad meg, humoros sértéseket jelenít meg a standard "Sajnálom, próbálkozz újra" üzenet helyett. Keresse meg a Defaults sorot az / etc / sudoers könyvtárban, és adj hozzá sértéseket az opciós listához, vesszővel elválasztva. A végeredmény így néz ki:

Ehhez írja be a sudo -K parancsot. befejezni az aktuális munkamenetet, és engedélyezni a sudo számára, hogy újra kérje a jelszót.

Superuser jelszó

A sudo beállíthatja az adminisztrátor jelszavát az aktuális felhasználói jelszó helyett a célpw vagy rootpw hozzáadásával az / etc / sudoers alapértelmezett beállításainak listájához.

Annak érdekében, hogy ne hozzuk nyilvánosságra a felhasználók gyökér jelszavát, ezt bizonyos csoportokra tilthatja:

A gyökérfiók letiltása

Lehet, hogy letiltja a root felhasználó bejelentkezési módját. Ennek hiányában a támadóknak először meg kell találniuk a sudoer-ként konfigurált felhasználó nevét, valamint a felhasználó jelszavát. Lásd a Secure Shell (angolul) # Shutdown példát.

Megjegyzés: Ha már csapdába esett, kérjen segítséget a Jelszó-helyreállítás (angol) menüben.

A root jelszó blokkolható passwd-vel.

Hasonló parancs feloldja a root jelszót:

Az / etc / shadow-t is szerkesztheti, és a titkosított root jelszót a "!"

Ezután állítson be új jelszót, és így feloldhatja a root felhasználókat:

Ha a gksu alapértelmezés szerint használja a sudo parancsot, futtassa:

/.config/kdesurc a kdesu kf5 változatához):

vagy használd a következő parancsot (használd a kdriteconfig5-t a kdesu kf5 változatához):

A kdesudo AUR-t az AUR-ból is telepítheti. amely támogatja a tökéletesített automatikus kiegészítést a Tab parancs beírásakor.

A beállítás másik példája

Tegyük fel, hogy 3 felhasználót hozott létre: admin, devel és joe. A "admin" felhasználó a journalctl, a systemctl, a mount, a kill és az iptables számára használható; A "devel" csomagok telepítésére és a beállítások szerkesztésére szolgál; A "joe" a felhasználó, akivel bejelentkezett. Ha engedélyezni szeretné az "joe" újraindítását, állítsa le a rendszert és használjon netctl-et, meg kell tennünk a következő lépéseket:

Szerkessze az /etc/pam.d/su fájlt és /etc/pam.d/su-1-et. Kéri, hogy a felhasználó a kerékcsoportban legyen, de ne adj hozzá senkihez.

Korlátozza az SSH bejelentkezési adatokat az "ssh" csoporthoz. Ez a csoport csak a "joe" -t tartalmazza.

Felhasználók hozzáadása más csoportokhoz.

Állítsa be a beállítások engedélyeit, hogy a devel szerkesztheti őket.

Ezekkel a beállításokkal szinte soha nem kell bejelentkeznie, mint superuser.

"Joe" csatlakozhat az otthoni WiFi-hoz.

"Joe" nem használhat netctl-t egy másik felhasználó nevében.

Amikor az joe akar használni a journalctl-t, vagy megöl egy lebegett folyamatot, átválthat a megfelelő felhasználóra:

De a "joe" nem tud átállni a felettes felett.

Ha az "joe" adminisztrátorként szeretné elindítani a gnu-képernyő munkamenetét, akkor ezt a következőképpen teheti meg:

A sudo konfigurálása az /etc/sudoers.d fájlhoz csatolt fájlokkal

A sudo feldolgozza a /etc/sudoers.d/ könyvtárban található fájlokat. Ez azt jelenti, hogy a / etc / sudoers szerkesztése helyett. A beállításokat külön fájlokban módosíthatja, és áthelyezheti őket erre a könyvtárra. Ennek két előnye van:

  • Nem kell szerkesztened a sudoers.pacnew fájlt;
  • Ha probléma merül fel az új bejegyzéssel, akkor egyszerűen el kell pusztítania a megfelelő fájlt, ahelyett, hogy módosítaná az / etc / sudoers fájlt.

Az ilyen fájlok bejegyzéseinek formátuma megegyezik az / etc / sudoers fájl saját formátumával. Közvetlen szerkesztéséhez használja a visudo -f / path / to / file fájlt. További tudnivalókat a sudoers sudoers-ban (5) tartalmaz.

problémák megoldása

Problémák a TTY-n keresztül az SSH-n keresztül

Alapértelmezés szerint az SSH nem osztja ki a tty parancsot távoli parancs végrehajtásakor. A tty sudo nélkül nem lehet letiltani a jelszó megjelenítését, amikor be van írva. Használhatja az ssh-t a -tt opcióval. hogy a tty (vagy -t kétszer) elosztására kényszerítsen.

Az alapértelmezett beállítások csak akkor engedélyezik a sudo futtatását a felhasználóknak, ha rendelkeznek egy tty-vel.

Felhasználói jogosultságok megjelenítése

Megtudhatja, hogy az adott felhasználó milyen jogosultságokkal rendelkezik a következő paranccsal:

Vagy ismerje meg a saját kiváltságait a csapatban:

Overlay umask

A Sudo saját felhasználói umaskot alkalmaz (alapértelmezés szerint 0022-re állítva). Ez megakadályozza, hogy a sudo létrehozzon olyan fájlokat, amelyeknél a felhasználói umask megengedi a szabadabb hozzáférési jogokat. Annak ellenére, hogy ez ésszerű alapértelmezett értéket, ha nem használja az umask módosított, ez vezethet a helyzet, amikor a program fut keresztül sudo létrehozhat fájlokat engedélyeket azok kivételével, amelyeket jönnek létre, amikor a program futtatásához közvetlenül a superuser. Kijavítani az ilyen hibák sudo biztosítja a lehetőséget, hogy helyes umask, akkor is, ha a kívánt umask liberálisabb, mint amit a felhasználó umask. Az ilyen sorok hozzáadásával (visudo használata) megváltoztatja az alapértelmezett sudo viselkedést:

Ez telepíti a sudo umask-ot az alapértelmezett umask-ban (0022), és felülbírálja az alapértelmezett viselkedést, mindig a megadott umask használatával és a felhasználó umaskjától függetlenül.

Alapértelmezett beállítások

Lásd [1] az opciók listáját (a forráskódú 1.8.7-ből kivonva), amelyet a sudoerekhez optimalizált formátumban mutatnak be.

Kapcsolódó cikkek