Sudo (su "do") je otevřený zdrojový a bezplatný software pro příkazové řádky, který umožňuje běžným uživatelům provádět různé příkazy, které potřebují oprávnění uživatele root nebo jako systémový administrátor pod GNU / Linuxem a UNIX-like operační systémy.
Jeden nástroj pro výkonnou správu systému
Nicméně všichni uživatelé nemají přístup k příkazu sudo v prostředí Linuxu, avšak pouze někteří uživatelé nebo skupiny uživatelů mají tuto schopnost, jak nakonfiguroval správce systému. Jsou nazývány uživateli s oprávněními root.
Všechny příkazy a jejich argumenty běží (jako root) běžným uživatelem jsou ve výchozím nastavení zaznamenány v adresáři výchozích protokolů příslušného operačního systému Linux. Všechny distribuce systému Linux obsahují standardně příkaz sudo.
Začínáme s Sudo
Výchozí nastavení je systém Sudo nainstalován na libovolném operačním systému GNU / Linux, který je distribuován buď jako obrázky ISO (živé nebo instalovatelné) nebo obrázky USB. Sudo je také nezbytným balíčkem pro distribuci Linuxu, který je třeba sestavit ze zdrojů nebo pomocí předem vytvořených binárních souborů, jako jsou Gentoo a Arch Linux.
v programu Softoware si můžete stáhnout nejnovější verzi souboru Sudo jako univerzální zdrojový archiv ve formátu souboru tar.gz, který lze optimalizovat pro platformu počítače a podporuje jak 32bitovou, tak 64bitovou architekturu instrukcí.
Chcete-li jej nainstalovat, stáhněte soubor a uložte jej na cestu, extrahujte archiv, otevřete emulátor terminálu, přejděte na místo extrahovaných archivních souborů pomocí příkazu & lsquo; cd & rsquo; příkaz & run & lsquo; ./ configure && make & rsquo; příkaz pro konfiguraci a kompilaci programu.
Po úspěšné instalaci můžete spustit instalaci & rsquo; příkaz sudo (ano, sudo musí být instalován v systému před instalací) nebo jako root (správce systému), což je doporučená volba, pokud sudo není nainstalován v systému GNU / Linux.
Co je nového v této verzi:
- V systémech, které podporují jak PAM, tak SIGINFO, nebude hlavní proces sudo dále předávat SIGINFO příkazu, pokud byl signál generován z klávesnice. Příkaz již obdrží SIGINFO, protože je součástí stejné skupiny procesů, takže sudo ji nemusí předávat. To odpovídá manipulaci se systémy SIGINT, SIGQUIT a SIGTSTP. Chyba # 796.
- Pokud soubor SUDOERS_SEARCH_FILTER v souboru ldap.conf neurčuje hodnotu, vyhledávací výraz LDAP použitý při vyhledávání na síťových skupinách a skupinách, které nesouvisí s Unixem, měl syntaktickou chybu, pokud nebyl specifikován plugin skupiny.
- sudo -U otheruser -l bude nyní mít výstupní hodnotu 0, i když otheruser nemá žádná oprávnění sudo. Hodnota ukončení, když se uživatel pokusí uvést své vlastní oprávnění nebo když je zadán příkaz, zůstává nezměněn.
- Opravena regrese zavedená v sudo 1.8.21, kde by přehrávání sudoreplay viselo pro logy I / O, které obsahují vstupní konektor.
- Sudo 1.8.18 obsahuje neúplnou opravu pro porovnávání položek v backendech LDAP a SSSD, pokud je zadán sudoRunAsGroup, ale sudoRunAsUser není v souborech sudoRole přítomen.
Co je nového ve verzi 1.8.16:
- Opravena chyba kompilace na platformě Solaris 10 se Stun Studio 12. Bug # 727.
- Při zachování proměnných z vyvolávacího prostředí uživatele, pokud existují duplikáty, sudo nyní udržuje pouze první instanci.
- Opravena chyba, která by mohla způsobit odeslání výstražné pošty v režimu seznamu (sudo -l) pro uživatele bez oprávnění sudo při použití backendů LDAP a SSSD.
- Opravena chyba, která zabránila použití adresy "mail_no_user" možnost pracovat správně s backendem LDAP.
- V backendech LDAP a SSSD je bílá mezera mezi operátorem (!, +, + =, - =) při analýze sudoOption ignorována.
- Vymazání názvu cesty je nyní možné zakázat v souboru sudo.conf.
- Možnost sudoedit_checkdir Výchozí je nyní ve výchozím nastavení povolena a byla rozšířena. Při editaci souborů se systémem sudoedit se nyní kontroluje každý adresář v cestě, kterou chcete upravit. Je-li adresář zapisovatelným uživatelem zapisovatelný, nebudou dodržovány symbolické odkazy. Pokud je nadřazený adresář souboru, který má být editován, zapisovatelný, sudoedit jej odmítne upravit. Chyba # 707.
- Byla přidána volba Předvolené nastavení netgroup_tuple, která umožnila přizpůsobení celé networku netgroup, nikoliv pouze části hostitele nebo uživatele. Chyba # 717.
- Když odpovídá příkazy založené na SHA2 digestu, sudo nyní použije fexecve (2) k provedení příkazu, pokud je k dispozici. To určuje dobu kontroly stavu versus doba použití, pokud je adresář, který drží příkaz, zapisovatelný vyvolávacím uživatelem.
- Na systémech AIX již sudo ukládá do mezipaměti řetězec registru auth spolu s informacemi o heslech a skupinách. To řeší případný problém, pokud uživatel nebo skupina stejného jména existuje ve více registrech auth. Například místní a LDAP.
- Opraveno selhání v backendu SSSD, když nebyl nalezen vyvolávací uživatel. Chyba # 732.
- Přidána příznak konfigurace --enable-asan, který umožňuje podporu adresy sanitizer. Několik nepatrných úniků paměti bylo připojeno k tichu detektoru úniku ASAN.
- Hodnota _PATH_SUDO_CONF může být znovu potlačena pomocí Chyba # 735.
- Skript sudoers2ldif nyní zpracovává více rolí se stejným názvem.
- Opravena chyba kompilace u systémů, které mají funkce posix_spawn () a posix_spawnp (), ale nepoužitelná hlavička spawn.h. Chyba # 730.
- Pevná podpora pro zrušení tříd znaků v sudo verzi funkce fnmatch ().
- Opravena chyba v backendech LDAP a SSSD, která by mohla neoprávněnému uživateli umožnit vypsání oprávnění jiného uživatele. Chyba # 738.
- Funkce konverzace PAM nyní funguje kolem nejednoznačnosti spec PAM s ohledem na více zpráv. Chyba # 726.
- Aktualizované překlady z translationproject.org.
Co je nového ve verzi 1.8.15:
- Opravena chyba, která zabraňuje sudovi budovat se mimo strom zdroje na některých platformách. Chyba # 708.
- Opraveno umístění knihovny sssd v balíčcích RHEL / Centos. Chyba # 710.
- Opraven problém s vytvořením systémů, které implicitně neobsahují sys / types.h z jiných souborů záhlaví. Chyba # 711.
- Opraven problém se systémem Linux pomocí kontejnerů, kde sudo ignoruje signály odeslané procesem v jiném kontejneru.
- Sudo nyní odmítne spustit příkaz, pokud modul relace PAM vrátí chybu.
- Při editaci souborů se souborem sudoedit nebudou symbolické odkazy nadále dodržovány. Staré chování lze obnovit povolením možnosti sudoedit_follow v sudoerech nebo na základě příkazu pomocí značek FOLLOW a NOFOLLOW. Chyba # 707.
- Opravena chyba zavedená ve verzi 1.8.14, která způsobila poslední platný editor v editoru sudoers seznam, který použije visudo a sudoedit namísto prvního. Chyba # 714.
- Opravena chyba v visudo, která zabránila přidání poslední edice k editovaným souborům bez jednoho.
- Opravena chyba, která dekodovala některé šablony base64 v sudoerech, jestliže střední formát obsahuje znak '='.
- Jednotlivé záznamy jsou nyní uzamčeny v souboru časové značky namísto celého souboru. To umožňuje sudo vyhnout se opakovanému zadání hesla na stejném terminálu při použití v potrubí. Jinými slovy, sudo cat foo | sudo grep bar nyní pouze jednou vyzve k zadání hesla. Dříve by oba sudo procesy vyžadovaly heslo, což často znemožňuje vstup. Chyba # 705.
- Opravena chyba, kde by sudo nespouštěl příkazy jako uživatel bez oprávnění root na systémech, které nemají jak setresuid (), tak setreuid (). Chyba # 713.
- Opravena chyba představená v souboru sudo 1.8.14, která zabraňovala visudo před opětovným editováním správného souboru při detekci chyby syntaxe.
- Opravena chyba, kde sudo neodeslal příkaz SIGHUP k příkazu, když je terminál zavřený a příkaz není spuštěn ve vlastním pseudo-tty. Chyba # 719.
- Některé, ale ne všechny, proměnné prostředí LOGNAME, USER nebo USERNAME byly zachovány z prostředí vyvolávajícího uživatele, sudo nyní použije zachovanou hodnotu pro nastavení zbývajících proměnných namísto použití uživatele runas. To zajistí, že pokud se například v seznamu env_keep nachází pouze LOGNAME, sudo nenastaví USER a USERNAME na uživatele runas.
- Když příkaz sudo běží kvůli signálu, sudo nyní pošle stejný signál s výchozím ovladačem signálu nainstalovaným namísto ukončení. Zdá se, že bash shell ignoruje některé signály, např. SIGINT, pokud není spuštěný příkaz zabit daným signálem. To dělá chování příkazů spuštěných v sudo stejně jako bez sudo, když bash je shell. Chyba # 722.
- Slovenský překlad pro sudo z translationproject.org.
- Překlady maďarštiny a slovenštiny pro sudoři z translationproject.org.
- Předtím, když byla aktivována funkce env_reset (výchozí) a nebyla použita volba -s, proměnná prostředí SHELL byla nastavena na shell vyvolávajícího uživatele. Nyní, když je aktivována funkce env_reset a volba -s se nepoužívá, SHELL je nastaven na základě cílového uživatele.
- Opravena autentizace BSD autentizace.
- Přidána možnost sudoedit_checkdir Defaults, aby sudoedit nemohl editovat soubory umístěné v adresáři, který je zapisovatelný uživatelem.
- Přidána možnost always_query_group_plugin Defaults pro kontrolu, zda skupiny, které nebyly nalezeny v databázi skupinové skupiny, byly předány skupinovému pluginu. Dříve byly do skupinového pluginu přidány neznámé systémové skupiny.
- Při vytváření nového souboru sudoedit nyní zkontroluje, zda existuje nadřazený adresář souboru před spuštěním editoru.
- Opravený test protektorů stacků kompilátorů v konfiguraci pro kompilátory, které podporují -fstack-protector, ale ve skutečnosti nemají knihovnu ssp k dispozici.
Co je nového ve verzi 1.8.14p3:
- Opravena chyba představená v sudo 1.8.14p2 zabránilo sudovi pracovat, když nebyl přítomen žádný tty.
- Opravena detekce tty na novějších systémech AIX, kde je dev_t 64bitová.
Co je nového ve verzi 1.8.14:
- Zprávy o protokolování v systému Mac OS X nyní platí sudoers_locale, když je sudo sestaven s podporou NLS.
- Manuální stránky sudo nyní procházejí příkazem mandoc -Tlint bez varování.
- Opraven problém při kompilaci na systémech s funkcí sig2str (), která nedefinují SIG2STR_MAX v signal.h.
- Vypracoval chybu kompilátoru, která vyústila v neočekávané chování při vracení int z funkce deklarované k vrácení boolu bez explicitního obsazení.
- Pracoval kolem chyby v systému Mac OS X 10.10 BSD auditu, kde au_preselect () selže pro události AUE_sudo, ale úspěšně pro AUE_DARWIN_sudo.
- Opraveno zavěšení na systémech Linux s glibcem, když je sudo spojen s jemalloc.
- Když uživatel spustí příkaz jako ID uživatele, který není přítomen v databázi hesel pomocí parametru -u, příkaz se nyní spustí s ID skupiny vyvolávajícího uživatele namísto skupiny ID 0.
- Opraven problém při kompilaci systémů, které nevytvářejí definice uid_t a gid_t bez sys / types.h nebo unistd.h.
- Opraven problém kompilace v novějších systémech AIX, které používají struct st_timespec pro časové razítky v struktuře stru, které se liší od struktury timepec. Chyba # 702.
- Příkladový adresář je nyní konfigurovatelný pomocí příkazu --with -exampledir a výchozím nastavením DATAROOTDIR / examples / sudo na BSD systémech.
- Soubor /usr/lib/tmpfiles.d/sudo.conf je nyní nainstalován jako součást aplikace "make install" když se systém používá.
- Opraven problém spojnice u některých systémů s libintl. Chyba # 690.
- Opravena kompilace s kompilátory, které nepodporují funkce __func__ nebo __FUNCTION __.
- Sudo už nemusí používat slabé symboly pro podporu lokalizace varovných funkcí. Místo toho je použita funkce registrace.
- Opraveno selhání setresuid () v souborech sudoers na jádrech Linuxu, kde uid změny berou v úvahu limit nproc.
- Opravené dotazy na síťové skupiny LDAP v systému AIX.
- Sudo nyní zobrazí vlastní výzvu na systémech Linux s PAM i v případě, že heslo " výzva není lokalizována modulem PAM. Chyba # 701.
- Dvojité citované hodnoty v sudoOption LDAP jsou nyní podporovány pro konzistenci sudoerů založených na souborech.
- Opravena chyba, která bránila zápisu btime v souboru / proc / stat z analyzovaného systému Linux.
Co je nového ve verzi 1.8.13:
- Adresář příkladů je nyní podadresářem adresáře doc, který odpovídá směrnicím Debianu. Chyba # 682.
- Opravena chyba kompilace pro siglist.c a signame.c na některých systémech. Chyba # 686.
- Slabé symboly se nyní používají pro sudo_warn_gettext () a sudo_warn_strerror () v libsudo_util, aby se vyloučily chyby spojení při -Wl, - v LDFLAGS se nepoužívá žádná. Volbu --disable-weak-configurable symbols lze použít k vypnutí uživatele slabých symbolů.
- Opravena chyba v nahrazovací funkci sudoku mkstemps (), která bránila rozšíření přípony souboru v sudoedit.
- Nový příznak mail_all_cmnds sudoers pošle poštu, když uživatel spustí příkaz (nebo se pokusí). Chování příznaku mail_always bylo obnoveno, aby vždy odesílala poštu při spuštění sudo.
- Nové příkazy příkazů MAIL a NOMAIL byly přidány k přepínání chování odesílání pošty na základě příkazu (nebo Cmnd_Alias).
- Pevná shoda s prázdnými hesly, když je sudo nakonfigurován pro použití ověřování souborů passwd (nebo shadow) na systémech, kde funkce crypt () vrací NULL pro neplatné soli.
- V systému AIX sudo nyní používá hodnotu nastavení auth_type v souboru /etc/security/login.cfg, aby zjistila, zda LAM nebo PAM použije pro ověření uživatele.
- Všechna nastavení seznamu listpw a verifypw nyní pracují správně s LDAP a sssd sudoers.
- Adresář sudo timestamp je nyní vytvořen při zavádění na platformách používajících systemd.
- Sudo nyní obnoví hodnotu obslužného programu SIGPIPE před spuštěním příkazu
- Sudo nyní používá strukturu timepec namísto struktury timeval pro udržení času pokud je to možné. Pokud je podpora podporována, sudoedit a visudo nyní používají časové razítka s granulační grafitou nanosekund.
- Opravena kolize s názvy symbolů se systémy, které mají vlastní implementaci SHA2. To řeší problém, kdy by PAM mohl použít nesprávnou implementaci SHA2 v systémech Solaris 10 konfigurovaných pro použití hesla SHA512.
- Editor, vyvolaný souborem sudoedit, opět používá nezměněnou kopii prostředí uživatele podle dokumentace. Toto bylo neúmyslně změněno v sudo 1.8.0. Chyba # 688.
Co je nového ve verzi 1.8.11p2:
- Opravena chyba, ve které dynamické sdílené objekty načtené z pluginu mohly používat hákovou verzi getenv (), ale ne háklivá verze putenv (), setenv () nebo unsetenv (). To může způsobit problémy modulům PAM, které tyto funkce používají.
Co je nového ve verzi 1.8.9p5:
- Opravena chyba kompilace v prostředí AIX, pokud je povolena podpora LDAP.
- Pevná analýza výchozího nastavení "umask" v sudoerech. Chyba # 632.
- Opraveno neúspěšné tvrzení, pokud je nastaveno výchozí nastavení "closefrom_override" v sudoerech a použije se vlajka -C sudo. Chyba # 633.
Co je nového ve verzi 1.8.9p4:
- Opravena chyba, kde by sudo mohl spotřebovat velké množství CPU, když byl příkaz spuštěn, když není povoleno protokolování I / O. Chyba # 631
- Opravena chyba, kde sudo ukončí chybu, když je úroveň ladění nastavena na utilitu @ debug nebo all @ debug a protokolování I / O není povoleno. Příkaz by pokračoval v běhu po ukončení hry sudo.
Co je nového ve verzi 1.8.3:
- Přidána značka SUDO_1_8_3 pro changeset 82bec4d3a203
- Aktualizujte překlad japonštiny sudoers z translationproject.org
Co je nového ve verzi 1.7.4p5:
- Byla opravena chyba, která by umožnila spouštění příkazu bez zadání hesla uživatelem, když se flag flag-g použije bez příznaku -u.
- Pokud uživatel nemá žádné doplňující skupiny, sudo se nyní vrátí k explicitnímu kontrole souboru skupiny, což obnoví historické sudo chování.
- Při selhání příznaku sudo -g byl použit bez příznaku -u a soubor sudoers obsahuje položku bez uživatele nebo skupiny runas.
- Byla opravena chyba v podpoře protokolování I / O, která by mohla způsobit vizuální artefakty v celoobrazovkových programech, jako jsou textové editory.
- Byla opravena chyba, pokud je povolena podpora projektu Solaris a flag flag-g se používá bez příznaku -u.
- Sudo se již neopustí s chybou, když je kompilována podpora auditu, ale auditování není povoleno.
- Opravena chyba zavedená v sudo 1.7.3, kde nebyl soubor s cenou účtován, když byla zapnuta možnost "targetpw" sudoers Výchozí.
- Značky LOG_INPUT a LOG_OUTPUT v sudoerech jsou nyní analyzovány správně.
- Pokud je sudo vybudován s podporou auditu, je v systému sudo -l opravena chyba a uživatel nemá povoleno spouštět žádné příkazy na hostiteli.
Co je nového ve verzi 1.7.4p2:
- Chyba, kde se sudo mohl otáčet v zaneprázdněné smyčce čekající na podřízený proces, byl opraven.
- Byla opravena chyba zavedená v sudo 1.7.3, která zabraňovala možnosti -k a -K při povolení možnosti tty_tickets sudoers
- Sudo již nevytiskne varování, pokud jsou zadány volby -k nebo -K a soubor jízdenky neexistuje.
Co je nového ve verzi 1.7.4:
- Soubor Sudoedit nyní zachová příponu souboru v názvu dočasného souboru, který se upravuje. Rozšíření používají někteří editoři (například emacs) k výběru režimu úprav.
- Soubory časových značek se přesunuly z / var / run / sudo na / var / db / sudo, / var / lib / sudo nebo / var / adm / sudo. Adresáře jsou zkontrolovány na existenci v tomto pořadí. To zabraňuje uživatelům přijímat přednášku sudo pokaždé, když se systém restartuje. Soubory časových značek, které jsou starší než doba spouštění, jsou na systémech, kde je možné určit, ignorovány.
- Pomocná dokumentace (soubory README, LICENCE, atd.) je nyní nainstalována v adresáři dokumentace sudo.
- Sudo nyní rozpoznává "tls_cacert" jako alias pro "tls_cacertfile" v ldap.conf.
- Výchozí nastavení, která jsou spojena s uživatelem, hostitelem nebo příkazem, mohou nyní obsahovat operátor negace. Například:
- Výchozí: přednáška! millert
- bude odpovídat libovolnému uživateli, ale millert.
- Výchozí proměnná prostředí PATH, použitá v případě, že neexistuje žádná proměnná PATH, nyní obsahuje / usr / sbin a / sbin.
- Sudo nyní používá polypkg (http://rc.quest.com/topics/polypkg/) pro balení mezi platformami.
- V Linuxu již sudo obnoví limit nproc prostředků před spuštěním příkazu, pokud se zdá, že limit nebyl změněn pam_limits. Tím se zabrání problému s bash skripty, které otevírají více než 32 deskriptorů na SuSE Linux, kde sysconf (_SC_CHILD_MAX) vrátí hodnotu -1, když je RLIMIT_NPROC nastavena na RLIMIT_UNLIMITED (-1).
- Visudo bude nyní zacházet s nerozpoznanou položkou Výchozí jako s chybou analýzy (sudo bude varovat, ale bude stále spouštět).
- Proměnné prostředí HOME a MAIL se nyní vynulují na základě zadání databáze hesel cílového uživatele, když je povolena volba env_reset sudoers (což je případ výchozí konfigurace). Uživatelé, kteří chtějí zachovat původní hodnoty, by měli použít položku sudoers jako:
- Výchozí nastavení env_keep + = HOME
- zachovat starou hodnotu HOME a
- Výchozí nastavení env_keep + = MAIL
- zachovat starou hodnotu MAILu.
- Ve výchozím nastavení je volba tty_tickets zapnutá.
- Opraven problém při obnovení nastavení registru AIX authdb.
- Pokud se používá PAM, počkejte, dokud se proces nezastaví před uzavřením relace PAM.
- Opraveno "sudo -i -u user", kde uživatel nemá v databázi hesel žádný shell.
- Při záznamu I / O již sudo zpracovává pty read / write returning ENXIO, jak je vidět na FreeBSD při zabití přihlášení.
- Sudo nyní provádí protokolování I / O v prostředí C. Tím se při analýze čísel s pohyblivou čárkou v souboru časování vyhýbáte problémům souvisejícím s nastavením jazyka.
- Byla přidána podpora pro soubory s příznakem správce ve stylu Ubuntu.
Komentáře nebyl nalezen