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.