Sudo - futtatni egy parancsot egy másik felhasználó

név
sudo, sudoedit - futtatni egy parancsot egy másik névvel.

szintaxis
sudo -K | -L | -V | -h | -k | -l | -v
sudo [-HPSb] [-a auth_type] [-c osztály | -] [-p azonnali] [-u felhasználónév | #uid]
sudoedit [-S] [-a auth_type] [-p azonnali] [-u felhasználónév | #uid] file [. ]

leírás
sudo lehetővé teszi a jogosult felhasználók számára végre parancsokat root vagy egy másik felhasználó megadott sudoers fájlt. Ez és hatékony UID GID beállítani szerint a felhasználói használnak, amely meg van adva a passwd fájlt, és egy vektor alapján a csoportot csoport fájl (amíg -P opciót használjuk). Ha a hívott felhasználó - gyökér, vagy ha a megcélzott felhasználói ugyanaz, mint a hívás, nincs szükség jelszóra. Más esetekben a sudo megköveteli, hogy a felhasználók azonosíthatja magát egy alapértelmezett jelszót (Megjegyzés: Az alapértelmezett beállítás, akkor a felhasználó jelszavát, és nem a root jelszót). Ha egy felhasználó hitelesítése, időbélyeggel frissül, és a felhasználó majd sudo jelszó nélkül egy rövid ideig (5 perc, ha nem változott a sudoers fájl). Magától értetődő, hogy okozott sudoedit, -e (alább leírt) opciót.

Ha sudo futtatni root, és a változó SUDO_USER készlet, sudo fogja használni ezt az értéket meghatározni, hogy ki az igazi felhasználó. Ez a funkció használható a felhasználót, hogy jelentkezzen parancsokat a sudo, akkor is, ha a hívott root shell. A segédprogram támogatja az -e zászló, amely hasznos lesz, akkor is, ha fut a sudo-script vagy program. Megjegyezzük, hogy a keresés még mindig folyamatban van a gyökér, és nem egy adott felhasználó SUDO_USER.
sudo tud bejelentkezni az összes sikeres és sikertelen próbálkozás (valamint a hibák) keresztül syslog (3) keresztül egy log fájlt, vagy mindkettő. Alapértelmezésben sudo rönk keresztül syslog (3), de ezt a lehetőséget meg lehet változtatni a konfiguráció során vagy azon keresztül sudoers fájlt.

opciók
sudo elfogadja a következő parancssori:
-H
H opció beállítja a HOME környezeti változó a home könyvtár a cél (root alapértelmezés szerint) meghatározott passwd (5) fájlt. Alapértelmezésben sudo nem módosítja HOME (lásd set_home és always_set_home a sudoers (5) bekezdés)

-K
-K (igaza - megölni), ugyanaz, mint a -k, kivéve, hogy eltávolítja a felhasználó időbélyeg Megegyezik -k, ez a lehetőség nem igényel jelszót.

-L
-L (lista) listáját jeleníti meg paramétereket, amelyek összhangban meghatározott kis alapértékek leírás minden. Ez hasznos együtt grep (1).
-P
-P okoz sudo megőrizni a felhasználói csoport az úgynevezett vektor változott. Alapértelmezésben sudo inicializálja a csoport vektor csoportból listát, amelyben a felhasználó található. Valós és hatásos csoportazonosító, azonban még mindig ugyanaz, mint a megcélzott felhasználói.

-egy
Az opció -a (hitelesítés típus) opció hatására sudo hogy egy adott típusú hitelesítést, hogy a felhasználói ellenőrzik meghatározott /etc/login.conf. A rendszergazda megadhat egy listát a sudo-specifikus hitelesítési módszerek hozzáadásával „auth-sudo 'sort /etc/login.conf. Ez az opció csak a rendszerek, amelyek támogatják BSD hitelesítési és sudo beállításait a --with-bsdauth.

-b
-b (háttér folyamat) azt sudo kell elvégezni ezt a kommandós háttér folyamat. Megjegyezzük, hogy ha a -b opció, akkor nem használható shell munkaellenőrzés folyamatirányító.

-c
Opció -c (osztály) teszi sudo távon bizonyos parancsot erőforrás meghatározott korlátozások bejelentkezési osztályban. osztály érv lehet azonos osztály nevét meghatározott /etc/login.conf vagy „-” szimbólum. Meghatározó osztály azt jelzi, hogy a parancsot kell futtatni korlátozott belépés képességeit a felhasználó számára a parancs futtatása. Ha az argumentum osztály meghatározza egy meglévő felhasználói osztályt, a parancsot kell futtatni, vagy a sudo parancsot kell futtatni egy shell, hogy a tulajdonosa a root. Ez az opció csak a BSD bejelentkezési osztályok rendszerekben, ahol a sudo beállításait a --with-logincap.

-h
Opció -h (segítség) opció hatására sudo megjelenítéséhez a célzást, és leállt.

-én
Opció -i (bejelentkezés szimuláció) shell kiváltó meghatározott bejegyzéseket passwd (5) a felhasználót, hogy a parancs lefut. A parancs argumentum ad le a héj kezdődik - ami a héj futtatni, mint a login shell. sudo megpróbálja megváltoztatni a felhasználó home könyvtárát megkezdése előtt a shell. Csak inicializált környezet, így TERM változatlanul, amelyben HOME, SHELL, USER, LOGNAME, és az útvonalat, és eltávolítja az összes többi környezeti változókat. Felhívjuk figyelmét, hogy ez azért van, mert a héj meghatározását használja, mielőtt a sudoers fájl feldolgozni, telepítése runas_default a sudoers majd adjon meg egy felhasználói futtatni a shell, de nem mondja meg, hogy milyen shell jelenleg fut.

-k
A -k opció megváltoztatja a felhasználó időbélyeg, az idő beállításával ezen a ponton. A következő futam, sudo kérni fogja a jelszót. Ez az opció nem kér jelszót, és hozzáadjuk a lehetőségét engedélyének visszavonásáról felhasználók sudo .logout fájlt.

-l
Az -L (lista) listáját jeleníti meg a megengedett (és tiltott) parancsokat a felhasználó a házigazda.

-p
-p (prompt) opció lehetővé teszi, hogy felülbírálja az alapértelmezett jelszó beviteli mezőbe, és használja a saját. A százalék ( „%”), és a következő szekvenciával:

% U kiterjesztése a bejelentkezési név, a hívott felhasználónak.

% U kiterjesztése a felhasználó bejelentkezési nevét, akinek parancsot le kell futtatni.

(Root alapértelmezés szerint)

H% bővítése a helyi host nevet, anélkül, hogy a domain nevet.

H% kiterjesztése a helyi host neve, beleértve a domain név (ha a fogadó gép nevét, vagy egy teljesen minősített tartománynév sudoers fel van szerelve).

%% %% két karakter alakulnak egy%

-s
Az opció -s (shell) elindítja a shell változóban meghatározott kagyló. ha be van állítva, vagy shell meghatározott passwd fájlt (5)

-u
Az -u (felhasználó) opció hatására sudo futtatni a megadott parancsot nem root felhasználó. Annak megállapításához, a uid helyett felhasználónév használja #uid. Tartsuk szem előtt, hogy ha targetpw opció telepítve (lásd. Sudoers) nem tudja futtatni a parancsot a uid, ez nem az adatbázis jelszó listája.

-v
Ha ezt az opciót -v, sudo frissíti a felhasználó időbélyeg, kéri a felhasználó jelszavát, ha szükséges. Opció kiterjeszti sudo timeout a következő 5 perc (vagy az idő, hogy be van állítva sudoers), de nem fogy el.

-- Zászló azt jelzi, hogy a sudo abba kell hagyni a feldolgozás parancssori paramétereket. Hasznos együtt az -s.

Miután a sikeres elindítása a program, a visszatérési érték sudo visszatér az értéke a program fut. Egyébként sudo kilép értéke 1, ha van egy hiba kofiguratsii / vagy sudo hozzáférési jogok nem tudja futtatni a parancsot. A vonal a hiba küldött stderr. Ha sudo nem stat (2) egy vagy több felvételt a felhasználó PATH, hibaüzenet jelenik meg stderr. Normális körülmények között ez nem történhet meg. A gyakori oka a visszatérő stat (2) A „hozzáférés megtagadva”, amikor futtatja a automounter és az egyik könyvtárakat a PATH, az autó, ami jelenleg nem elérhető.

sudo megpróbál, hogy legyen óvatos, amikor fut külső parancsokat. A változók, amelyek szabályozzák, amikor a dinamikus terhelés és a kötődést akkor fejeződik be, akkor kell használni a programot, amely betölti az akadályokat sudo. Annak érdekében, hogy megoldja ezt a változókat okurzheniya LD_, _RLD_, neve SHLIB_PATH (csak a HP-UX) és LIBPATH (csak AIX) eltávolítják a környezetet, átadva minden futó csapat. sudo, csak eltávolítja a változók IFS, CDPATH, ENV, BASH_ENV, KRB_CONF, KRBCONFDIR, KRBTKFILE, KRB5_CONFIG, localdomain, RES_OPTIONS, HOSTALIASES, NLSPATH, PATH_LOCALE, TERMINFO, TERMINFO_DIRS és termpath, hiszen ők is veszélyt jelentenek. Ha a változó TERMCAP- és elérési út neve be van állítva, akkor is figyelmen kívül hagyja. Ezen felül, ha a változók LC_ vagy tartalmazhat NYELV / vagy% karaktert, akkor figyelmen kívül hagyja. Környezeti változók értékkel kezdődő () eltávolítják, mivel lehet értelmezni, mint egy bash funkciót. Ha sudo lett lefordítva SecurID támogatás, változó VAR_ACE, USR_ACE és DLC_ACE is törlődik. A lista a környezeti változók sudo törli szereplő kimenete sudo -V ha root-ként fut.

Annak megakadályozása érdekében hamisítást parancsok sudo ellenőrzi az utolsó ``. „” És `` „” (mind visszaállítja az aktuális könyvtár), ha keres egy parancs a felhasználói PATH (ha az egyik vagy mind a PATH). Megjegyzendő, hogy mivel a tényleges PATH környezeti változó nincs módosítva, hogy változás nélkül halad a program fut sudo.

Biztonsági okokból az operációs rendszer támogatja a megosztott könyvtárak és nem tiltja le a könyvtár a keresési útvonal, hogy a felhasználó megadott setuid programok (többségük), akkor kell használni egy összekötő lehetőség, hogy kikapcsolja ezt összekapcsolásának lehetősége, illetve összekapcsolni sudo statikusan.

sudo ellenőrzi a tulajdonosi és időbélyeg könyvtár (/ var / run / sudo alapértelmezés szerint), és figyelmen kívül hagyja a könyvtár tartalmát, ha az nem tartozik a root írható csak a root sem. Azokban a rendszerekben, amelyek nem támogatják a root fiók felhasználók számára, hogy visszatérjen fájlokat a chown (2) ha az időbélyeg könyvtár található egy könyvtár írható valamennyi (azaz a / tmp), és a felhasználó létrehozhat egy időbélyeg könyvtár előtt sudo start. Ezért sudo ellenőrzi az állam a tulajdonos és a könyvtár és tartalma, ami miatt a kár, hogy okozhat a „rejtőzködő” fájlokat áthelyezi őket egy könyvtárba időbélyeggel. Ez nem kívánatos lehet, mert egyszer lefektetett egy könyvtárban egy időbélyeggel, a root tulajdonában és megközelíthetetlen más felhasználók. Felhasználó le a fájlokat nem lehet tudni, hogy azokat vissza. Ennek elkerülése érdekében, akkor használja a könyvtárat, amely nem áll rendelkezésre a lemezen, a „világ” az időbélyeg (/ var / adm / sudo például), vagy hozzon létre a / var / run / sudo-val tulajdonosává válik (root) és jogosítványok (0700) a rendszerindító fájlok.

sudo nem fogadja timestamps telepítés a jövőben. időbélyeg a dátum magasabb current_time + 2 * időtúllépés ignorirovatsya, és sudo naplózza és panaszkodnak a helyzet. Ezt annak érdekében, hogy a felhasználó létrehozzák saját timestamps egy hamis dátumot rendszerek, amelyek lehetővé teszik a felhasználók számára, hogy el fájlokat.

HOME
Az -s vagy H módban (vagy ha sudo-t beállítani a --enable-shell-szett-home) meghatározza a saját könyvtár a cél felhasználó.

PATH
telepítve a rendes értéket, ha sudo-t beállítani a --with-secure-utat.

SHELL
operdelenie használt shell futtatni -s

SUDO_PROMPT
használt prompt bemeneti az alapértelmezett jelszót.

SUDO_COMMAND
A parancs futtatásakor sudo

SUDO_USER
Megadja a felhasználó bejelentkezési, ami miatt sudo.

SUDO_UID
Beállítja a felhasználói uid okozó sudo.

SUDO_GID
Gid állítja a felhasználót, hogy okozta a sudo

SUDO_PS1
ha megállapítást PS1 lesz állítva a saját jelentését.

USER
a célt tűzi ki (root, amíg -u opció meg van adva).

Az / etc / sudoers - listája valaki, hogy lehet futtatni
/ Var / run / sudo - egy könyvtár időbélyeg

Megjegyzés: Az alábbi példák feltételezik hangolt sudoers (5)
A listát a fájlok olvasható könyvtárban:
$ Sudo ls / usr / local / védett
A listát a felhasználó home könyvtárában yazza a gépen, ahol a fájl rendszer folyamatosan

yazza nem sugározzák root:
$ Sudo -u yazza ls

yazza
Szerkeszteni az index.html fájlt a felhasználó www:
$ Sudo -u www vi

Hogy kikapcsolja a számítógépet:
$ Sudo shutdown -r 15 "gyors reboot"

Használt, hogy egy listát a / home alatti könyvtárak.
Megjegyzés: A menedzsment csapatok a sub-shell, hogy képes legyen dolgozni cd és a fájl átirányítást.
$ Sudo sh -c "cd / home; du -s * | sort -rn> HASZNÁLAT"

Lásd még:
grep (1), su (1), stat (2), login_cap (3), sudoers (5), passwd (5), visudo (8)

Nem szükséges, hogy futtassa a cd parancs közvetlenül sudo, azaz:

$ Sudo cd / usr / local / védett

attól az időponttól kezdve, amikor a parancs befejezése szülő folyamat (shell) ugyanaz lesz. További információkért lásd a példában egy.

Ha a felhasználó sudo ALL, akkor semmi sem állíthatja meg, létre saját programot, ami azt a root shell, tekintet nélkül a „!” vevői.

Futó shell szkriptek sudo képes érzékelni hasonló kernel hibákat, amelyek setuid héjprogramokat veszélyesek egyes operációs rendszerek (ha az operációs tartalmazza a / dev / fd / könyvtárba, setuid héjprogramokat általában biztonságosak).

Kapcsolódó cikkek