Jak otevřít terminál v ubuntu jako superuživatel. Správce v Ubuntu, aneb Co je sudo. Získání práv root bez přepínání

Dobrý den, milí návštěvníci, čtenáři, přátelé i nepřátelé, náhodní jedinci, stálí zákazníci a další, dá se říci, lidé. Pokračujeme v seznamování s linuxovými systémy a tento článek ze série věnované Linuxu se pokusí navázat na základní seznámení a pomalu vás ponořit do reality zkušeného linuxového uživatele, která (realita) není vždy drsná, zvláště když mít znalosti a materiály, ale ne vždy je něco dobrého.

Okamžitě si zarezervujte, že bez ohledu na to, v jaké distribuci pracujete (ať už Mincovna, Debian, Ubuntu, Fedora, Mandriva, Slackware, Gentoo atd. atd. – nyní existuje asi 600 různých distribucí Linuxu nebo ještě více, nepočítaje velmi malé projekty), podstata této práce se nezmění. Příkazy se mohou lišit, protože se používají různé. Dnes budeme podrobněji diskutovat o takových konceptech, jako jsou:

  • Kdo je superuživatel?
  • V čem jsou uživatelé a skupiny Linux- systémy.

Než začnete s příběhem, musíte si to představit Linux - Toto je operační systém pro více uživatelů. Myslím, že každý ví, co je systém pro více uživatelů, ale zopakuji to pro ty, kteří s tímto konceptem nejsou úplně obeznámeni.

Začněme.

Všechny druhy různých věcí o Linuxu pro více uživatelů a účtu správce root

1. Víceuživatelský systém
Takže ještě jednou. Linux je multitaskingový, víceuživatelský (kolik "s :)) operační systém. To znamená, že se systémem může pracovat několik uživatelů současně a každý z nich může spouštět několik aplikací. A zároveň pro například se můžete přihlásit do systému lokálně a jiného uživatele – vzdáleně pomocí protokolů vzdálený přístup (telnet, ssh, ftp).

Je to velmi pohodlné. Uveďme příklad, aby bylo jasné, o čem mluvíme mluvíme o. Předpokládejme, že potřebujete vytisknout dokument, který je na vašem pracovním počítači, ale ne na vašem domácím počítači. Pokud máte internet a počítač podle toho nakonfigurován, nebude to nic složitého, protože se můžete snadno přihlásit do systému, zkopírovat si potřebný soubor a vytisknout, kde se vám to hodí. A i když v době vašeho připojení již se systémem někdo pracuje, nebudete si vzájemně překážet. V Windows tato možnost také existuje, ale až po instalaci příslušného software, a zároveň se nebudete moci přihlásit do systému, abyste „nerušili“ dalšího uživatele, který se v něm již nachází. Nebudete moci spolupracovat, protože si budete vzájemně překážet. Vše, co uděláte, se projeví na monitoru uživatele (tj. plocha bude sdílena), a pokud uživatele neupozorníte, že jste se vzdáleně přihlásili, bude si myslet, že s jeho počítačem není něco v pořádku (např. samozřejmě není 100 %, ale z velké části je to fakt).

Závěr:
V Linux- několik uživatelů může se systémem pracovat a ani jeden druhého nepodezírat o existenci, dokud příkaz nepoužijí (např. SZO). Linux byl původně vyvinut jako víceuživatelský systém s možností vzdáleného připojení v textovém i grafickém režimu. Windows ve svém jádru vždy byl (a pravděpodobně ještě dlouho zůstane) systémem osobního, který nemá vůbec nic silného. propojený počítač a prostředky interakce místní síť vždy přicházely ve formě jakési „výdělečné váhy“. Kromě, Linux vždy spoléhal otevřené protokoly, většina což je ve světě standard Unix-systémy Microsoft, naopak sází na vlastní protokoly, které jsou přirozeně uzavřené a ne vždy kompatibilní s jejich předchozími verzemi.

2. Superuser (root)
Zjistili jsme tedy (nebo spíše trochu objasnili), co je to víceuživatelský systém. Nyní si promluvme o tom, kdo to je Linux- uživatelské systémy vykořenit.

Konvenčně a „slangově“ řečeno je to král a bůh :). Uživatel vykořenitKAŽDÝ pravomocí v systému, až do jeho plného a trvalé smazání, tj. to je, abych tak řekl, správce systému v singlu operační systém.

Jakýkoli příkaz zadaný do terminálu bude proveden bezpodmínečně a neodvolatelně. Takže pracujte pod vykořenit-ohm v jakékoli Linux(unix)-systémů není vítán a dalo by se dokonce říci, že není akceptován. Někdo se například rozhodl zahrát si vtip a umístil ho na internet malware, a vzali jste si to a stáhli jste si to a dokonce jste to začali instalovat do svého počítače (je těžké si představit tak extrémní lidi, ale přesto - co když takoví lidé jsou :)). Pokud je tento program spuštěn prostřednictvím superuživatele, může být váš systém snadno zničen, ale spusťte tento program jako jednoduchý uživatel nepovede k ničemu – systém jej jednoduše odmítne provést s odkazem na skutečnost, že nemáte dostatečné oprávnění. Tento důvod navíc blíže se podívejte, zda to vůbec potřebujete nainstalovat. Proto v Linux(unix) systémy přihlášení pod uživatelským jménem vykořenit zakázáno.

V některých distribucích se nebudete moci přihlásit jako vykořenit v grafickém režimu, ale můžete se přihlásit přes konzolu (zhruba řečeno, terminál) pomocí kombinace kláves Ctrl + Alt + F2(jako například v Fedora), a v jiných distribucích se nebudete moci přihlásit vůbec jako vykořenit- ani prostřednictvím grafického režimu, ani pomocí kombinace kláves, ani prostřednictvím konzole (například taková distribuce zahrnuje Ubuntu). Vyvstává otázka - jak potom nainstalovat potřebné programy obejít tohoto superuživatele? K tomu existuje „dočasné oprávnění“ k provádění nezbytných operací ve formě příkazů sudo nebo su. Jak se tyto týmy od sebe liší?

Začněme s sudo. Tento příkaz vám umožňuje spustit jakýkoli příkaz s oprávněními vykořenit. Tento příkaz však nemohou použít všichni uživatelé, ale pouze ti, kteří jsou zapsáni v souboru / atd/sudoers(tento soubor v přístupné formě popisuje, kteří uživatelé nebo skupiny mohou příkaz spustit sudo, což znamená, že běžný uživatel, který není zahrnut v tomto souboru, ani s velkým přáním nebude moci používat práva vykořenit).

Ustoupit
O katalogu /atd promluvíme si jindy - protože toto je samostatné téma. Rád bych ale řekl, že tento adresář obsahuje téměř všechna systémová nastavení (kromě uživatelských, vlastní nastavení uloženy v domovském adresáři uživatele /domov), zatímco je v katalogu /atd je jich mnoho textové soubory. A jelikož jsou soubory textové, lze je upravovat libovolným textovým editorem, což značně zjednodušuje práci systémové soubory a zvyšuje spolehlivost systému. Mimochodem, i když jednu z nich odstraníte konfigurační soubory katalog /atd, systém bude dál fungovat, jako by se nic nestalo! Samozřejmě to nebude fungovat stejně jako před odstraněním tohoto souboru, ale na rozdíl od toho Windows, bude fungovat.

Teorie je to samozřejmě dobrá, ale pojďme si trochu zacvičit. Například musíte upravit soubor /etc/sudoers, pro který přejdeme na terminál a zadáme:

sudo gedit /etc/sudoers

Otevře se okno programu gedit:

Tam, kde provedeme potřebné úpravy, uložte a zavřete tento soubor. V Linux- existuje spousta systémů textové editory, pomocí kterého můžete upravovat soubory - to je výše gedit, A nano, A vi, a mnoho dalších, takže můžete použít jakýkoli. Takto bude vypadat otevření souboru pomocí editoru nano:

Pokud vstoupíme bez sudo stejný příkaz:

gedit /etc/sudoers

Nyní o týmu su.
Tým su umožňuje přístup ke konzole (terminálu) vykořenit JAKÝKOLI uživatel (i když tento uživatel není uveden v souboru /etc/sudoers), ale za předpokladu, že zná heslo vykořenit. Cítili jste ten rozdíl?

Závěr:
Tým su je určeno pro systémové administrátory a sudo- pro ostatní uživatele, kteří jen občas potřebují práva root.

Ustoupit:
Pro mnoho uživatelů příkaz su- získání práv superuživatele. Není to tak úplně pravda. Tým su volá shell jiného uživatele v systému, tzn. umožňuje získat práva JINÉHO uživatele, která musí být uvedena jako argument tohoto příkazu. Zkuste příkaz suvykořenit nebo su[vaše_uživatelské_jméno] a uvidíte, jak tento tým zareaguje. Doporučil bych použít jeden důležitý parametr"-" (pomlčka), což výrazně mění jeho fungování. Při provádění příkazu " su- " se nazývá přihlašovací shell. To často mate nováčky: " su" vám uděluje pouze práva jiného uživatele," su- " vám umožňuje přihlásit se pod jménem jiného uživatele. Druhé znamená, že spolu s udělením práv bude uveden váš aktuální pracovní adresář, domovský adresář a proměnné prostředí. Pomocí příkazu su bez parametru "-" je zatíženo problémy - takto spuštěný program ukládá svá nastavení do adresáře volajícího uživatele, nikoli volaného (nezapomeňte, že máte pouze přidělená práva). Pokud tento uživatel vykořenit- Do domovského adresáře obdržíte soubory nastavení programu, ke kterým nebudete mít přístup. Netřeba dodávat, že spuštěním stejného programu ze svého účtu v budoucnu vy nejlepší scénář, nebudete moci uložit svá nastavení, v nejhorším případě se program vůbec nespustí. Je lepší příkaz vůbec nepoužívat su pro spouštění programů s vlastními proměnnými prostředí je k tomu vhodnější příkaz sudo. Už jsem tě zmátl? :)

A přesto se můžete vždy přihlásit jako superuživatel, i když je tento účet omezen nebo deaktivován, např. Ubuntu stačí nastavit heslo pro uživatele vykořenit tým sudopasswdvykořenit. Nejprve vás systém požádá o vaše uživatelské heslo, poté nové heslo a potvrzení. Účet vykořenit PROTI ubuntu Poté jej můžete zakázat příkazem sudopasswd-lvykořenit, ale.. Po uzavření účtu mohou nastat problémy s přihlášením do režimu obnovy. Podle mého názoru v ubuntu Je lepší nepovolit superuživatele, ale použít příkaz

Trochu praxe.
Pojďme do systému přidat nového uživatele. Chcete-li to provést, musíte se přihlásit jako superuživatel 2 příkazy:

# adduser<имя uživatel>(přidává uživatele)

# passwd<имя uživatel>(nastaví/změní heslo)

Dávejte pozor na znamení # před týmem. Tento znak označuje, že příkaz je vydán superuživatelem (aka vykořenit, je také bohem a vládcem, pokud je před týmem ikona $ - pak bude příkaz proveden jako jednoduchý uživatel).

Tady je, náš nový uživatel systému Dron. Vytvořili jsme jej a nastavili heslo pro tento účet.

Pokud je heslo nastaveno příliš jednoduše, budete upozorněni, že heslo je příliš dostupné:

A to se bude dít donekonečna, dokud nevytvoříte normální.

Při zakládání nového uživatele se mu v systému vytvoří adresář / domov<имя пользователя> , kam se zkopíruje obsah adresáře /etc/skel(obsahuje celou sadu „gentleman’s“, která by měla být v libovolném uživatelském adresáři).

Kromě toho ve spisu /etc/passwd je vytvořen záznam, zkrátka náš nový uživatel Dron bude plnohodnotným uživatelem systému.

Odebrání uživatele ze systému je stejně snadné jako přidání. Stačí zadat příkaz:

# userdel<имя пользователя> (pozor, nesmazat se) :).

3. Skupiny uživatelů
Někdy jsou uživatelé kvůli snadnému použití seskupeni do skupin. Ve výchozím nastavení nemá jeden uživatel přístup k domovskému adresáři jiného uživatele (například uživatel galina nebude mít přístup do domovského adresáře Dron a naopak, Dron nebude mít přístup do domovského adresáře galina). Pokud je ale několik uživatelů sloučeno do jedné skupiny, pak každý z nich bude mít přístup nejen do svého domovského adresáře, ale také do domovských adresářů ostatních uživatelů. Užitečnost takových asociací je zřejmá. Obvykle je zvykem přidávat/mazat/měnit účty přes příkazový řádek, ale rád bych se dotkl grafických konfigurátorů (jedná se o malé nástroje, které usnadňují život začínajícím uživatelům nebo těm, kteří rádi pracují v grafickém rozhraní). Na druhou stranu chci ukázat, že pracuje v linux(unix)-systémy je to možné různými způsoby: Můžete to udělat přes příkazový řádek, nebo to můžete použít - kdo má rád, co preferujete. Každá distribuce má své vlastní konfigurátory a mohou se lišit. Například v Fedora konfigurátor slouží k editaci uživatelů a skupin system-config-users.

Ještě jednou se vraťte k obrázku, kde jsme uživatele smazali Dron ze systému. V systému zbývá pouze jeden uživatel - galina Vyberte jej, klikněte na „ Vlastnosti„a dozvíte se spoustu zajímavých věcí :). Věnujte pozornost například kartě " Skupiny", kde můžete zahrnout uživatele do konkrétní skupiny jednoduchým zaškrtnutím políčka:

S každým novým uživatelem se vytvářejí nové skupiny. Pokud uživatel galina na " Skupiny"zkontroluj skupinu" Dron“, pak galina bude mít přístup do domovského adresáře uživatele Dron(ale tady Dronžádné takové pravomoci nebudou).

Rád bych upozornil na jeden bod - s každým dalším vydáním ze systému pomalu mizí konfigurátory (což je podle mě smutné). Buď jsou nahrazeny jinými, nebo dokonce odstraněny z distribuce jako nepotřebné. Některé z nich lze nainstalovat standardně, některé si musíte nainstalovat sami, záleží na vašich potřebách. Pokud při zadání příkazu ke spuštění konfigurátoru systém řekne, že žádný takový příkaz neexistuje, pravděpodobně tento konfigurátor nainstalovaný nemáte a můžete jej zkusit nainstalovat.

Zkusme si procvičit na jiné distribuci (všechny předchozí obrázky odkazují na distribuci Fedora 16), například na ubuntu 12.10(tato distribuce je oblíbená i mezi obyvatelstvem). Dovolte mi odbočit a připomenout, že bez ohledu na to, v jaké distribuci se nacházíte, smysl práce bude identický, pouze příkazy se budou lišit. V tomto konkrétním případě v ubuntu existuje konfigurátor skřítek- systém- nástroje a ve výchozím nastavení není v systému nainstalován. Chcete-li využít všech výhod tohoto konfigurátoru, nejprve jej nainstalujte příkazem:

sudo apt-get install gnome-system-tools.

Proces instalace tohoto nástroje byl zahájen:

Vezměte prosím na vědomí, že pro instalaci tohoto balíčku je potřeba vyřešit (o závislostech jsme mluvili již v minulém článku a nyní to názorně předvedeme), tzn. bude nainstalováno doplňkové balíčky aby utilita fungovala správně.

Poté do vyhledávání můžete zadat „skupiny“ nebo „uživatelé“ a zobrazí se ikona nástroje gnome-system-tools

Nebo spusťte nástroj pomocí příkazu uživatelů- admin z terminálu ( příkazový řádek):

A vidíme grafické rozhraní pro uživatelská a skupinová nastavení ubuntu:

Všechny moderní distribuce Linux jsou dobře rusifikované, a proto se nebudeme podrobněji zabývat zvažováním tohoto nástroje, ale upozorníme na hlavní body.

Je jasné, že pro přidání nového uživatele musíte kliknout na tlačítko "Přidat" Chcete-li vytvořeného uživatele odstranit, klikněte na tlačítko "Vymazat". Chcete-li změnit typ účtu, musíte kliknout na tlačítko "Přeměna" naproti poli" Typúčetnictvíevidence" Existuje 3 typ účtu:

  • Správce ( vykořenit) – uživatel může spravovat systém
  • Uživatel – uživatel může v systému pracovat, ale nemůže jej spravovat (použijte příkaz sudo, instalovat programy, spravovat uživatele atd. atd.)
  • Jiný je účet se speciálními parametry přístupu, které se nastavují ručně. Chcete-li to provést, použijte kartu " Dalšíparametry" Na " Privilegiumuživatel» můžete nastavit, které operace může uživatel provádět a které ne.

Na " Navíc» Můžete deaktivovat účet, změnit skupinu, ID můžete dokonce zvolit jiný interpret a domovský adresář.

Pokud potřebujete uživateli povolit použití sudo, pak v okně " Možnostiuživatelů» označte uživatelský účet, klikněte na tlačítko « Dalšíparametry"a na kartě" Privilegiumuživatel» povolit « Správasystémy».

Chcete-li spravovat skupiny, musíte použít " Vedení skupiny».

Zobrazí se seznam skupin a tlačítek " Přidat"(no, je jasné, že toto tlačítko přidává nová skupina), « Vymazat" (smaže skupinu) a " Vlastnosti"(pomocí tohoto tlačítka můžete snadno přidat/vyloučit členy skupiny). Vše je velmi jednoduché a intuitivní.

Tím naše další přednáška končí :). Doufám, že jsem vás nenudil? Souhlaste s tím, že tento systém v zásadě není tak děsivý, jak se o něm říká. Pokud máte co dodat (přidat), napište to prosím do komentářů.

Doslov

Takhle to dopadlo, poloteoretický a trochu praktický, ale přesto důležitý článek pro ty, kteří se Linux učí a koho to zajímá.

P.S. Děkuji členu týmu Pantera za existenci tohoto článku.

V Linux Mint(jako v Ubuntu) přihlášení root je ve výchozím nastavení zakázáno. Na jednu stranu je to správně, aby uživatel, který dříve pracoval ve Windows neustále jako administrátor, tuto chybu v Ubuntu/Mintu neopakoval. Ale stále je možné se přihlásit jako root.

root v Linux Mint

Pozor! Práce jako root je nebezpečná! K provádění administrativních úloh se doporučuje používat nástroj sudo. Autor neručí za následky neopatrné práce se zvýšenými privilegii!

Získání práv root v terminálu nebo konzole

Chcete-li získat oprávnění root na příkazovém řádku, stačí zadat sudo -i, poté vaše heslo. To lze použít, když potřebujete zadat více příkazů jako root().

Přiřazení hesla uživatele root

Abyste se mohli přihlásit jako root, musíte mu nejprve přiřadit heslo (mimochodem v Debianu a openSUSE se heslo pro root přiděluje během procesu instalace). Chcete-li to provést, zadejte na příkazovém řádku root sudo passwd a poté dvakrát zadejte své heslo a heslo uživatele root. Poté se můžete přihlásit jako root na příkazovém řádku. Navíc pokud zadáte su a vstupte root heslo, pak získáte zvýšená oprávnění (obě od sudo -i).

Povolení možnosti přihlásit se jako root v MDM

Takže přiřazením hesla root jsme se mohli přihlásit jako root v konzole, ale ne grafické prostředí. Faktem je, že standardně v nastavení MDM je přihlášení jako root zakázáno. Chcete-li to vyřešit, musíte jít do nastavení systému, otevřít Předvolby přihlašovacího okna, otevřená sekce Možnosti a označit Povolit přihlášení uživatele root. Poté se můžete přihlásit jako root v grafickém režimu.

Mimochodem, Thunar, spuštěný z rootu, ukazuje žlutou varovnou čáru, zatímco Nemo ukazuje pouze červenou čáru se slovy „Elevated Privileges“.

Mimochodem, ve stejném Ubuntu je přihlášení jako root méně omezeno: LightDM Ubuntu ve výchozím nastavení nezakazuje přihlášení jako root, ale ten, který je dodáván s Ubuntu správce souborů Nautilus spuštěný jako root nezobrazuje žádná varování (a ani Dolphin).

Vybrat hodnocení Dejte tomu 1/5 Dejte tomu 2/5 Dejte tomu 3/5 Dejte tomu 4/5 Dejte tomu 5/5

Instrukce

Ve výchozím nastavení je v Ubuntu zakázána možnost přihlásit se jako superuživatel. Chcete-li povolit root, musíte znát heslo, které se nastavuje během instalace systému. Heslo lze vždy změnit pomocí příkazu přes “Terminál” (Menu - Programy - Standart): sudo passwd root
Sudo vám umožňuje použít práva root k provedení dalšího požadavku a passwd změní heslo pro vybraného uživatele v v tomto případě pro root. Po zadání příkazu zadejte své staré a poté nové heslo.

Aktivujte možnost pro privilegovaného uživatele přihlásit se lokálně prostřednictvím grafického prostředí. Chcete-li to provést, přejděte do nabídky „Systém“ - „Správa“ - „Přihlašovací okno“ - „Zabezpečení“ a poté vyberte „Povolit“ místní vstup..." Restartujte počítač. Nyní se můžete přihlásit jako root.

Pro spouštění příkazů jako root přes Terminál na systémech Fedora a Mandriva se používá předpona su. Otevřete soubor gdm:
su

gedit /etc/pam.d/gdm
A zakomentujte řádek „auth required pam_succeed…“ pomocí znaku #. Poté restartujte počítač a zkuste se přihlásit jako superuživatel z okna výběru účtu.

Pokud máte pracovní plochu KDE, upravte soubor kdmrc, který se nachází ve složce /usr/share/config/kdm. Najděte řádek AllowRootLogin a změňte jeho hodnotu na True, poté uložte změny a restartujte relaci uživatele pomocí příslušné položky nabídky.

Užitečná rada

Účet root byste neměli používat k provádění každodenních úkolů. Účet správce byste měli používat pouze v případě potřeby. Pro sledování filmů a úpravy elektronické dokumenty Práva běžného uživatele systému jsou docela vhodná.

Root je superuživatel v Unixové systémy. Toto je administrátorský účet, který má výchozí přihlašovací jméno „root“ a lze jej v případě potřeby snadno přejmenovat. Schéma superuživatel-uživatel bylo vynalezeno, aby usnadnilo proces administrace a zajistilo bezpečnost a stabilitu systému. Všechny akce prováděné se systémovými soubory nejsou dostupné běžnému uživateli, ale jsou možné pro roota.

Instrukce

V Ubuntu Linux Ve výchozím nastavení se nebudete moci přihlásit jako superuživatel. Chcete-li povolit účet root, musíte znát jeho heslo. Obvykle se nastavuje při instalaci systému, ale vždy jej lze vyměnit. Otevřete „Terminál“ („Menu – „Programy“ – „Příslušenství“) a zadejte příkaz: sudo passwd root. Příkaz "sudo" signalizuje systému, že by měly být provedeny následující akce. Poté budete muset zadat svůj Staré heslo a poté nový, který chcete nastavit.

Dále musíte vytvořit možnost pro root přihlásit se do systému lokálně. Chcete-li to provést, přejděte na „Systém“ - „Správa“ - „Přihlašovací okno“. Přejděte na kartu Zabezpečení a vyberte Povolit místní přihlášení pro správce systému.

Chcete-li se přihlásit jako root v operačním systému Fedora, použijte příkaz terminálu"su" a zadejte příslušné heslo. Poté otevřete soubor gdm.

1. Pomocí příkazu: su

Mnoho příkazů může spouštět pouze superuživatel, takže musíme vědět, jak se stát rootem. K tomu můžeme použít příkaz: su (přepnout uživatele). Příkaz su přijímá následující formáty:

ale nejčastěji budeme používat su abyste se stali uživatelem vykořenit:

Su - kořen

Pokud na řádku není zadáno uživatelské jméno, automaticky se předpokládá, že uživatel je root, takže příkaz lze zkrátit:

ale oba týmy se chovají jinak. "su" dává aktuálnímu uživateli identitu, zatímco "su -" dává aktuálnímu uživateli identitu spolu s okolím, které by bylo získáno registrací jako.

Uživatelé často používají "su" k tomu, aby se stali rootem. Pokud se pokusíte spustit příkaz (například - ifconfig), obdržíte: "command nenalezen"chyba.

Su Heslo: ifconfig bash: ifconfig: příkaz nenalezen

Důvodem je, že normální uživatelé systému a uživatel root mají různé proměnné prostředí PATH (po zadání můžete zobrazit cestu uživatele pomocí "echo $PATH"). Linuxové příkazy Shell prohledá PATH uživatele a pokusí se najít příkaz ke spuštění. Začne prohledávat každý adresář uvedený v PATH, dokud není nalezen cíl.

Týmy běžní uživatelé obvykle umístěn v /usr/local/bin, /usr/bin a /bin. A příkazy uživatele root jsou umístěny hlavně v /usr/local/sbin, /usr/sbin, /sbin a kořenová PATH to odráží. Takže když se stanete superuživatelem s "su -", také přijímáte nový způsob PATH k základním příkazům. A pomocí pouze "su" se uloží vlastní cesta PATH je výchozí nastavení, proto při pokusu o spuštění programu umístěného v /usr/local/sbin, /usr/sbin, /sbin vyvolá výsledek: chyba "příkaz nenalezen". Podrobnější vysvětlení najdete na stránce man bash, zejména v sekci přihlašovacích shellů.

Takže musíte buď zadat úplnou cestu k příkazu (příklad - /sbin/ifconfig), když používáte "su", nebo použít "su -", když se stanete rootem.

2. Použití Sudo

Nemusíte být superuživatel pokaždé, když chcete spouštět některé specifické administrativní funkce. Díky sudo, můžete spouštět některé nebo všechny příkazy jako root. Když sudo nainstalován (balík: Sudo), můžete jej nakonfigurovat pomocí příkazu "visudo" jako root. V podstatě upravuje (výchozí Vim) /etc/sudoers, ale nedoporučuje se to dělat ručně.

Alex VŠECHNY=(VŠICHNI)VŠICHNI

Alex je uživatelské jméno. Uložte (stiskněte klávesu Escape a zadejte wq) a máte hotovo. Přihlaste se jako alex a spusťte například:

$sudo mňam aktualizovat

Sudo požádá o heslo. Toto je heslo Alexe, nikoli uživatele root. Při udělování uživatelských práv pomocí Sudo buďte opatrní.

Sudo ale umí víc než jen to. Můžeme povolit uživateli nebo skupině uživatelů spustit pouze jeden příkaz nebo skupinu příkazů. Vraťme se k našemu souboru sudoers. Začněme alexem a alisou, členy skupiny administrátorů. Pokud chceme, aby všichni uživatelé ve skupině „administrátor“ mohli spouštět každý příkaz jako superuživatel, musíme upravit náš příklad:

%admin VŠECHNY=(VŠECHNY)VŠECHNY

Alex může také provést příkaz superuživatele a Alisa má právo spustit Sudo se stejnými právy a heslem. Pokud alex a alisa nejsou členy stejné skupiny, můžeme definovat alias uživatele v souboru sudoers:

User_Alias ​​​​ADMINS = alisa, alex

Zde jsme definovali alias s názvem ADMINS se členy alisa a alex.

Nechceme však, aby Alex a Alisa mohli spouštět jakýkoli program jako root. Chceme, aby mohli spouštět pouze „updatedb“. Pojďme definovat alias příkazu:

Cmnd_Alias ​​​​LOCATE = /usr/sbin/updatedb

Ale to nestačí! Musíme Sudo říct, že uživatelé definovaní jako ADMINS mohou spouštět příkazy zadané v LOCATE. Za tímto účelem nahradíme řádky s „%admin“ těmito:

SPRÁVCI VŠECH = LOCATE

To znamená, že uživatelé v aliasu ADMINS mohou spouštět všechny příkazy v aliasu LOCATE.

Tentokrát /etc/sudoers vypadá takto:

User_Alias ​​​​ADMINS = alisa, alex Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb SPRÁVCI VŠECHNY = LOCATE

Výsledkem je, že alex a alisa mohou spustit updatedb jako root zadáním svého hesla.

Pokud změníte poslední řádek v souboru:

SPRÁVCI VŠECHNY = NOPASSWD:LOCATE

pak alex a alisa budou moci provést "sudo updatedb" bez zadání hesla.

K aliasu příkazu můžete přidat více příkazů a k pravidlu více aliasů. Můžeme například vytvořit alias NETWORKING obsahující některé síťové příkazy jako: ifconfig, route nebo iwconfig:

Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhcclient, /usr/bin/net, sbin/iptables, /usr/bin/rfcom, /usr/bin/wvdial, /sbin /iwconfig, /sbin/mii-tool

Pojďme to vše přidat do našeho souboru /etc/sudoers (pomocí visudo!). Také naší skupině ADMINS udělíme práva spouštět programy z aliasu NETWORKING:

User_Alias ​​​​ADMINS = alice, bob Cmnd_Alias ​​​​LOCATE = /usr/bin/updatedb Cmnd_Alias ​​​​NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net ,/sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool SPRÁVCI VŠECH = LOCATE, NETWORKING

Rychlý test: přihlaste se jako alisa (nebo alex) a zadejte:

$ping -c 10 -i localhost

Odpověď by se měla rychle vrátit:

PING localhost.localdomain (127.0.0.1) 56(84) bajtů dat. ping: nemůže zatopit; minimální interval, povolený pro uživatele, je 200 ms

Nyní to samé, ale se Sudo:

$sudo ping -c 10 -i 0 localhost PING localhost.localdomain (127.0.0.1) 56(84) bajtů dat. 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 čas=0,049 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 čas místního hostitele=0,044 ms doména callo.ms (127.0.0.1): icmp_seq=3 ttl=64 čas=0,021 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=4 ttl=64 time=0,030 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=5 ttl=64 čas=0,017 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=6 ttl=64 čas=0,016 ms 64 bajtů z localhost.localdomain (127.0.0.0.1): 64 bajtů z localhost.localdomain (127.0.0.1): čas=0,016 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=8 ttl=64 čas=0,016 ms 64 bajtů z localhost.localdomain (127.0.0.1): icmp_seq=9 ttess.=64 čas=9 ttl.=64 čas z localhost.localdomain (127.0.0.1): icmp_seq=10 ttl=64 čas=0,016 ms --- statistika pingu localhost.localdomain --- 10 odeslaných paketů, 10 přijatých, 0 % ztráta paketů, čas 1 ms rtt min/avg/ max/mdev = 0,016/0,023/0,049/0,010 ms, ipg/ewma 0,187/0,028 ms

sudočasto se používá k udělení částečného přístupu určitých uživatelů k privilegovaným příkazům, aby mohli provádět omezené administrativní funkce. Jedna z vymožeností sudo je, že všechny příkazy se zapisují do /var/log/secure. Výše uvedený příklad bude popsán řádkem v protokolu:

18. dubna 11:23:17 localhost sudo: alex: TTY=pts/0 ; PWD=/home/alex ; USER=root ; COMMAND=/bin/ping -c 10 -i 0 localhost

To je vše. Teď už nikdy nezapomenu, když jsem použil Sudo: "s velkou silou přichází velká zodpovědnost."

2.1 Sudo shell

Pokud máte v sudoers nakonfigurovaná dostatečná oprávnění, můžete také otevřít root shell pomocí:

V nejnovější verze pouze na CentOS 5, chcete-li spustit shell jako root, použijte sudo -s. Buďte velmi opatrní, protože to může změnit nebo vytvořit nové soubory domovský adresář Root a nainstalovat do domovského adresáře volajícího uživatele.

3.pomocník konzole

Consolehelper je shell pro spouštění GUI aplikace. Když se spustí, zkontroluje konfiguraci PAM pro požadovanou aplikaci. To znamená, že můžeme uživatele ověřit pomocí all nainstalované moduly PAM. Hlavní metodou je požádat o heslo, ale pokud máme správné vybavení. můžeme autentizovat pomocí čipových karet, tokenů, otisků prstů atd. Konfigurace PAM je nad rámec tohoto dokumentu (viz Příručka administrátora PAM), proto se podíváme na krok konfigurace consolehelper, který je nutný ke spouštění aplikací jako root a vyžaduje heslo root.

Jako příklad nakonfigurujeme /usr/bin/xterm, aby běžel jako root.

Ln -s /usr/sbin/consolehelper /usr/bin/xterm-root

Nyní pro konfiguraci PAM vytvořte soubor /etc/pam.d/xterm-root:

#%PAM-1.0 auth include config-util account include config-util session include config-util

Nakonec nakonfigurujte consolehelper tak, aby spouštěl /usr/bin/xterm jako root pomocí příkazu "xterm-root". Vytvořte soubor /etc/security/console.apps/xterm-root:

USER=root PROGRAM=/usr/bin/xterm

To je vše. Spusťte "xterm-root" (z příkazového řádku nebo pomocí zástupce souboru .desktop), zadejte heslo a jděte. Pokud se zobrazí chyba: "Xlib: připojení k ":0.0" serverem odmítnuto", spusťte nejprve "xhost local:root".

Když chceme spouštět programy jako root, používáme sudo , gksu , gksudo atd. Nyní mám otázku, jak můžeme spustit Terminál jako uživatel root v Terminálu?

Zkoušel jsem použít gksudo terminál gksu terminál, ale nic se neděje. a když spustím terminál sudo, zobrazí se chyba sudo: terminal: command not found .

Výchozí emulátor terminálu na Ubuntu je terminál GNOME. Nachází se v /usr/bin/gnome-terminal a lze jej spustit pomocí příkazu gnome-terminal.

co vlastně chceš

S největší pravděpodobností budete chtít shell s právy root, jako by byl vytvořen z přihlášení uživatele root (například se všemi proměnnými prostředí nastavenými na root, nikoli vašeho uživatele).

Za předpokladu, že chcete, jak navrhoval steeldriver, stačí spustit:

Budete mít root shell, ve kterém budou příkazy, které zadáte, provedeny jako root (aniž by jim předcházelo sudo).

Ale pokud opravdu chcete spouštět aplikaci grafického terminálového emulátoru jako root, čtěte dále. Uvádím dva způsoby: pomocí gksu/gksdo a příkazu sudo.

S gksu/gksudo

Protože máte gksu nainstalovaný balíček můžete spustit gnome-terminal jako root s kterýmkoli z:

Gksu gnome-terminál gksudo gnome-terminál

(Protože je gksu ve výchozím nastavení na Ubuntu nainstalováno v režimu sudo, měly by být ekvivalentní.)

Spuštění gnome-terminálu jako root bez správy gnome-terminálu bez oprávnění root:

Téměř každé desktopové prostředí poskytuje možnost spustit příkaz bez nutnosti otevírat terminál (který pak, pokud je zavřený, obvykle příkaz ukončí).

Toho se obvykle dosáhne pomocí pomocí Alt+ F2. Zobrazí se textové pole, které říká Běh(nebo podobně) a budete moci zadat svůj příkaz.

Například je to podobné jako Unity:

A jako v MATE (GNOME Flashback / Fallback, Xfce, LXDE jsou podobné):

všimni si toho Toto funguje s gksu a gksudo, protože používají grafický dialog ověřování. Pokud stisknete Alt + F2 a spustíte sudo... , nebudete moci pracovat s výzvou k zadání hesla.

Se sudo

Pokud nemáte balíček gksu a nechcete jej instalovat, můžete použít:

Sudo -H gnome-terminál

Parametr -H je důležitý, protože nastavuje proměnná prostředí HOME v /root místo vašeho domovského adresáře vlastního uživatele. Vy Ne by měl používat sudo gnome-terminal, protože může narušit konfiguraci gnome-terminálu vlastněnou uživatelem bez oprávnění root. Přijímat další informace o tomto viz

  • RootSudo na Ubuntu Help Wiki
  • Proč by uživatelé neměli používat běžné sudo ke spouštění grafických aplikací?

(sudo -i gnome-terminal je také v pořádku.)

Zbavení se ovládacího terminálu bez oprávnění:

Pokud vy (1) otevřít grafický terminál, (2) spusťte v něm něco jako sudo -H gnome-terminal, vytvořte nový grafický kořenový terminál a (3) opusťte původní grafický terminál bez root... pak se kořenový grafický terminál ukončí.

Důvodem je, že kořenový grafický terminál je odeslán SIGHUP, když se z něj odhlásí terminál, který jej vlastní.

Abyste tomu zabránili, můžete zvážit, že byste místo toho mohli spustit grafický kořenový terminál:

Sudo -H gnome-terminál &

Ale to bude fungovat pouze v případě, že sudo nebude vyžadovat heslo. Pokud k tomu dojde, výzva k zadání hesla se nezobrazí.

Jeden způsob Řešením je použít:

Sudo -v sudo -H gnome-terminál

sudo -v existuje pouze pro tento účel. Jak je vysvětleno v man sudo, "aktualizuje [aktualizuje] přihlašovací údaje uživatele v mezipaměti a v případě potřeby ověří uživatele."

Všimněte si, že to stále nebude fungovat, pokud spouštíte přímo z příkazového řádku Alt + F2 desktopového prostředí, protože stále potřebujete terminál k zadání hesla pro sudo -v .

Nebo můžete to udělat v tom, co lze nazvat tradičním způsobem, pozastavení operace po jejím zahájení:

  1. Spusťte sudo -H gnome-terminal z původního grafického terminálu bez oprávnění root.
  2. Zadejte heslo, jak je uvedeno v sudo. Spustí se grafický terminál.
  3. V terminálu bez oprávnění root, stiskněte Ctrl + Z pro pozastavení kořenového terminálu. Přestože je kořenový terminál pozastaven, nemůžete jej používat; jeho rozhraní nebude reagovat na vaše akce.
  4. Opusťte řídicí terminál bez ukončení root s exitem. Nastavení grafického kořenového terminálu bude automaticky zrušeno a přepsáno nekořenovým terminálem.

Sudo -H gnome-terminal ^Z exit

Ale řekněme, že jste chtěli pokračovat v používání původního nekořenového terminálu. Pak můžete spustit bg N , Kde N – číslo grafické úlohy kořenového terminálu, ve které se má pokračovat v práci pozadí. K vyhledání můžete spustit úlohy N ale pravděpodobně nebudete muset – toto číslo se zobrazilo jako [ N ], když jste stiskli Ctrl + Z. Například:

Ek@Ilex:~$ sudo -H gnome-terminál heslo pro ek: ^Z [ 1 ]+ Zastaveno sudo -H gnome-terminal ek@Ilex:~$

Krátká odpověď:

Gksudo gnome-terminál (za předpokladu, že je nainstalováno gksu)

otevře terminál jako root:

Root@jacob-satellite-l300:~#

Není třeba vysvětlovat, že toto můžete použít k otevření žádný terminál jako kořen; například Vala (gksudo vala-terminál), gksudo xterm (gksudo xterm), Termit (gksudo termit), UXTerm (gksudo uxterm), Konsole (gksudo konsole) a tak dále.

Existuje další způsob, jak to udělat, testovat a pracovat s Ubuntu 16.04 LTS:

Nejprve nainstalujte gnome-panel:

Sudo apt install gnome-panel

Poté nainstalujte gksu:

Sudo apt install gksu

Po dokončení instalace spusťte:

Gnome-desktop-item-edit ~/Desktop/ --create-new

Tím se vytvoří zástupce na ploše. Měli byste to umět pojmenovat. Svůj jsem pojmenoval „X-Term“, ale svému můžete říkat, jak chcete. Do cesty "Příkaz" zadejte /usr/bin/gksu *.




Nahoru