Užitečné tipy

Jak se stát superuživatelem telefonu nebo tabletu s Androidem

Pin
Send
Share
Send
Send


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

ale častěji budeme používat su aby se stal uživatelem root:

pokud není v řádku uvedeno uživatelské jméno, pak se automaticky předpokládá root, takže lze příkaz zkrátit:

ale oba týmy se chovají jinak. 'su' dává současnému uživateli identitu, zatímco 'su -' dává současnému uživateli identitu spolu s prostředím, které by bylo možné získat registrací jako.

Uživatelé často používají 'su' pro přechod do kořenového adresáře. Pokud se pokusíte spustit příkaz (například ifconfig), zobrazí se chyba: 'command not found'.

Důvod je ten, že běžní uživatelé systému a root mají různé proměnné prostředí PATH (na PATH uživatele se můžete podívat pomocí „echo $ PATH). Po zadání příkazu Linux skořepina vyhledá uživatele PATH, aby se pokusil najít příkaz ke spuštění. spustí vyhledávání v každém adresáři určeném v PATH, dokud není nalezen cíl.

Běžné uživatelské příkazy jsou obvykle umístěny v / usr / local / bin, / usr / bin a / bin. A kořenové uživatelské příkazy jsou umístěny hlavně v / usr / local / sbin, / usr / sbin, / sbin a root PATH to odráží. Proto, když se stanete superuživatelem s „su -“, pak také přijmete novou cestu PATH k hlavním příkazům. A při použití pouze 'su' se výchozí cesta PATH uživatele uloží, proto při pokusu o spuštění programu umístěného v / usr / local / sbin, / usr / sbin, / sbin vrátí výsledek: chyba 'command not found'. Podrobnější vysvětlení najdete na stránce man (man bash), zejména v sekci přihlašovacích skořápek.

Musíte tedy zadat úplnou cestu k příkazu (například / sbin / ifconfig), když používáte 'su', nebo použít 'su -', když se stanete rootem.

2. Pomocí Sudo

Nemusíte být superuživateli pokaždé, když chcete spustit některé specifické administrativní funkce. Díky Sudo, můžete některé nebo všechny příkazy spustit jako root. Kdy Sudo nainstalován (balíček: Sudo), můžete jej nakonfigurovat pomocí příkazu 'visudo' jako root. Upravuje se (ve výchozím nastavení Vim) / etc / sudoers, ale nedoporučuje se to provádět ručně.

Rychlým a nedoporučovaným způsobem použití Sudo je přidání sudoerů na konec souboru:

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

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

Ale Sudo může udělat víc než to. Můžeme dovolit uživateli nebo skupině uživatelů spouštět pouze jeden příkaz nebo skupinu příkazů. Vraťme se k našemu souboru sudoers. Začněme s alexem a alisou, členy skupiny administrátorů. Pokud chceme, aby všichni uživatelé ve skupině administrátorů mohli každý příkaz spustit jako superuživatel, musíme změnit náš příklad:

Alex může také vykonat příkaz superuživatele a Alisa má právo spouštět Sudo se stejnými právy a svým heslem. Pokud alex a alisa nejsou členy stejné skupiny, můžeme definovat uživatelské aliasy v souboru sudoers:

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 s oprávněními superuživatele. Chceme, aby mohli běžet pouze 'updatedb'. Definujme alias příkazu:

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

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:

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

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

pak budou Alex a alisa moci provádět „sudo updatedb“ bez zadání hesla.

Do aliasu týmu můžete přidat další týmy a další aliasy v pravidle. Můžeme například vytvořit alias NETWORKING obsahující některé síťové příkazy jako: ifconfig, route nebo iwconfig:

Pojďme to všechno přidat do našeho / etc / sudoers souboru (pomocí visudo!). A také dávejte naší skupině ADMINS právo provádět programy z aliasu NETWORKING:

Malý vzorek: přihlaste se jako alisa (nebo alex) a zadejte:

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

Totéž, ale se Sudo:

Sudo často se používá k částečnému přístupu určitých uživatelů k privilegovaným příkazům, aby mohli provádět omezené administrativní funkce. Jeden z vybavení Sudo tím, že všechny příkazy jsou zapsány do / var / log / secure. Výše uvedený příklad bude popsán řádkem v protokolu:

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

2.1 Sudo shell

Pokud máte v sudoers nakonfigurováno dostatek práv, můžete také otevřít kořenový shell pomocí:

V nedávných verzích pouze na CentOS 5 se sudo -s používá ke spuštění shellu jako root. Buďte velmi opatrní, protože to může změnit nebo vytvořit nové soubory v domovském adresáři root a nainstalovat do domovského adresáře volajícího.

3. konzolehelper

Consolehelper je prostředí pro spouštění aplikací GUI. Když začne pracovat, zkontroluje konfiguraci PAM pro požadovanou aplikaci. To znamená, že můžeme autentizovat uživatele pomocí všech nainstalovaných modulů PAM. Základní metodou je vyžádat si heslo, ale pokud máme správné vybavení. můžeme se autentizovat pomocí čipových karet, tokenů, otisků prstů atd. Konfigurace PAM je nad rámec tohoto dokumentu (viz Průvodce administrátorem PAM), proto se podíváme na krok konfigurace konzole, který je nezbytný pro spouštění aplikací jako root a vyžadování rootova hesla.

Příkladem je konfigurace / usr / bin / xterm tak, aby běžel jako root.

Nejprve si chceme zachovat schopnost běžet Xterm jako běžný uživatel. Proto vytvořte symbolický odkaz / usr / bin / xterm-root pro / usr / sbin / consolehelper:

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

Nakonec nakonfigurujte konzolu na spuštění / usr / bin / xterm jako root pomocí příkazu 'xterm-root'. Vytvořte soubor /etc/security/console.apps/xterm-root:

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

Co je superuser?

Proces získání práv superuživatele v angličtině se nazývá zakořenění, od jména superuživatele unixových systémů (root).

Kořenování zahrnuje nejprve uložení kopie softwaru na bezpečném místě a instalaci nového upraveného softwaru (nová verze systému Android s názvem firmware).

K čemu to je?

Jako superuživatel nenajdete úžasné nové základní aplikace, ale najdete dostatek z nich, které odůvodní úsilí. Například některé programy vám umožňují automaticky zálohovat všechny aplikace a data v nich, jiné mohou téměř úplně blokovat reklamy, navázat zabezpečené připojení k internetu, přetaktovat procesor, přeměnit váš gadget na bezdrátový přístupový bod.

Zakořenění jedním kliknutím

Dříve budete muset nainstalovat potřebné programy, ale proces zakořenění se skutečně stane jedním kliknutím. Celá věc trvá několik minut a poté můžete restartovat pouze gadget Android.

Existují bezplatné programy, které si nárokují schopnost rootovat Android jedním kliknutím, ale při výběru je velmi důležité být opatrný. Pokud máte pochybnosti, proveďte další výzkum. Fórum XDA Developers je nejdůvěryhodnějším zdrojem (poznámka překladatele /: je škoda, že na tomto nádherném fóru nejsou téměř žádné tablety).

Váš konkrétní spotřebič

Až najdete příručku, která odpovídá vašemu zařízení, zůstane pouze postupovat podle všech pokynů. Tento postup bude pravděpodobně obtížný a může trvat značné množství času. Zde je například kořenový průvodce Samsung Galaxy S3. Na první pohled docela skvělý dokument, ale pokud jej začnete provádět krok za krokem, dosáhnete úspěchu bez velkých bolestí hlavy. V případě potíží můžete vždy položit otázku na fóru XDA Developers.

Řez nebo ne kolej?

Výhody zakořenění při prodloužení výdrže baterie, instalace kořenových aplikací, speciálního firmwaru, přetaktování procesoru, ukončení těžkopádného a zbytečného softwaru, vylepšený výkon a možnost upgradovat váš gadget, kdykoli budete chtít. Pokud na tyto vyhlídky nemáte dojem, pak není pravděpodobné, že zakořenění není pro vás.

Oprávnění superuživatele v systému Linux

Vypsat seznam toho, co běžný uživatel systému Linux nemůže uvést, trvá velmi dlouho, je snazší říci, na co má právo, konkrétně se standardním nastavením oprávnění pro soubory v systému Linux může běžný uživatel:

  • Čtení, zápis a změna atributů souboru ve vašem adresáři
  • Čtení, zápis, změna atributů souboru v adresáři / tmp
  • Spusťte programy, kde to není zakázáno, pomocí příznaku noexec
  • Číst soubory, pro které je nastaven příznak čtení pro všechny uživatele.

Pokud potřebujete udělat něco víc, potřebujeme rootova oprávnění uživatele linuxu. Root má právo dělat vše ve vašem souborovém systému, bez ohledu na to, jaká práva jsou pro soubor nastavena.

Super uživatelské přihlášení

Chcete-li se přihlásit jako root, můžete přepnout na jednu z virtuálních konzolí, například pomocí klávesové zkratky Ctrl + Alt + F1 a poté zadat uživatelské jméno uživatele root a heslo uživatele root.

Získáte plné kořenové prostředí se schopností provádět všechny akce, ale tato metoda je velmi nepraktická, protože ztratíte všechny výhody používání grafického rozhraní.

Můžete to udělat přesně naopak, zadejte uživatelské jméno a heslo root do grafického správce přihlášení, aby prostředí pracovní plochy fungovalo jako root, a získáme všechna oprávnění root Linux, ale tato možnost je vysoce doporučená a velmi nebezpečná, můžete náhodně poškodit vše systém. Proto byla tato metoda v mnoha správcích přihlášení zakázána.

Přepnutí na superuživatel v terminálu

Nyní se dostáváme k zajímavějším a praktičtějším. Pomocí speciálních obslužných programů můžete přepnout aktuální emulátor terminálu do prostředí superuživatele a provádět všechny následující příkazy nikoli vaším jménem, ​​nýbrž na něm, čímž získáte oprávnění root root programu. K dispozici je su nástroj. Obecně lze říci, že tento nástroj umožňuje nejen přepnutí na uživatele root, ale také na jiného uživatele, ale ve výchozím nastavení se používá root. Podívejme se na to podrobněji. Příkaz su linux má následující syntaxi:

Uživatel $ su možnosti

Zde jsou jeho hlavní možnosti:

  • -c, - povel - spusťte příkaz
  • -g, - skupina - nastavit hlavní skupinu uživatelů (pouze pro root)
  • -G - skupina -up - další skupiny uživatelů (pouze pro root)
  • -, -l, --login - přihlašovací režim, všechny proměnné prostředí budou vymazány a inicializovány s ohledem na nového uživatele a domovský adresář bude také změněn
  • -p, --preserve-environment - uložit proměnné prostředí
  • -s, - skořápka - nastavit přihlašovací shell
  • --verze - zobrazí verzi programu.

Nyní trochu experimentujeme, abychom pochopili, jak funguje příkaz su linux.

Nejprve spusťte su bez parametrů, ale nejprve vytvořte proměnnou prostředí a zkontrolujte, jak s nimi tento příkaz nakládá:

Nyní se podívejme, co se stalo:

whoami
$ pwd
$ echo $ VAR
$ echo $ PATH
$ exit

Z těchto příkazů vidíme, že jsme nyní root, ale adresář našeho předchozího uživatele je považován za domovský adresář a naše proměnná nebyla uložena, proměnná PATH se také změnila, nyní je tam přidána cesta / sbin.

Nyní používáme přihlášení v režimu přihlášení:

A opakujte stejnou kombinaci:

whoami
$ pwd
$ echo $ VAR
$ echo $ PATH
$ exit

Stejná situace, pouze tentokrát byl změněn také domovský adresář kořenového adresáře. V případě potřeby však můžeme uložit proměnné prostředí, pro to je možnost -p:

Jak vidíte, naše proměnná zůstává. Můžete také přepnout na jiného uživatele. Například:

Získání oprávnění superuživatele tímto způsobem se používá v mnoha distribucích, například v Debianu, OpenSUSE, ArchLInux, Gentoo atd. Ale v Ubuntu, jako distribuční sada pro začátečníky, je root root zakázán. To se děje, protože to také není příliš bezpečné, můžete zapomenout, že provádíte příkaz z kořenového adresáře a něco děláte v systému. Proto přejdeme na další program.

Získání oprávnění root bez přepínání

Pro implementaci nejbezpečnějšího rozhraní pro práci s oprávněními superuživatele v Linuxu byl vyvinut příkaz sudo. Podívejme se, co je sudo. Tento příkaz je zapsán před každým příkazem, který je třeba provést jménem superuživatele, a pro jeho provedení musíte zadat heslo již není root, ale pouze uživatel. Stejně jako v předchozím případě má tento nástroj vlastní možnosti. Nejprve zvažte syntaxi:

Příkaz $ sudo options

  • -b - spusťte spuštěný obslužný program na pozadí
  • -E - uložit proměnné prostředí
  • -g - spusťte příkaz ze skupiny
  • -H - použití domovského adresáře
  • -l - zobrazí seznam oprávnění v sudo pro aktuálního uživatele
  • -r - využít roli SELinuxu pro tým
  • -s - použijte shell
  • -u - spusťte příkaz jako uživatel, pokud není použit root
  • -i - nevykonávejte příkaz, ale zadejte shell, což odpovídá su -

Stejné experimenty můžete provádět pouze u tohoto příkazu, abyste pochopili, jak používat příkaz sudo. Například:

Použití sudo je doporučený způsob provádění příkazů jako root v Linuxu. Nezapomenete tedy na to, s čím se vypořádáte, a nejmenším rizikem je poškození systému. Ale ještě jedna nevyřešená otázka - co grafické nástroje? Nakonec je příkaz sudo nespustí a spuštění grafického prostředí jako root není bezpečné. Budeme o tom dále uvažovat.

Graficky aplikace jako root

Existují speciální nástroje pro spouštění grafických aplikací jménem superuživatele. Zachovávají všechny potřebné proměnné prostředí a oprávnění. V KDE je to příkaz kdesu a v Gnome příkaz gksu.

Stačí zadat gksu nebo kdesu a pak požadovaný příkaz:

Tento příkaz spustí správce souborů KDE s oprávněními superuživatele. V Gnome to bude vypadat takto:

Program si vyžádá heslo již v grafickém okně a otevře se správce souborů.

To je vše. Nyní víte, jak získat superuživatelská oprávnění v Linuxu, víte, jak používat příkaz sudo a jaký je rozdíl mezi sudo nebo su. Programy, které v systému vyžadují dodatečná oprávnění, vám nyní nebudou způsobovat problémy. Pokud máte nějaké dotazy, napište do komentářů!

Žádné související příspěvky

15 komentářů

Vážený Sergeji Určitě potřebujete korektor - v každém článku je nejméně pět pravopisných chyb (ani nezmíním čárky). Navrhovaná úprava pomocí Ctrl + Enter brzy přestane fungovat: ochrana proti spamu je povolena. Chtěli byste využít své korekturní služby? Zvyšujete počítačovou gramotnost předplatitelů, je to skvělé, ale měli byste věnovat pozornost běžné gramotnosti. S pozdravem, Olegu.

Dobrý večer Oleg! Budu velmi vděčný, pokud pomůžete napravit chyby na webu. Zaregistrujte se a řekněte mi své přihlašovací údaje.

Mimochodem, ano, má pravdu. Já sám si často všimnu chyb ve vás)) Byl bych Vám vděčný, kdybyste zlepšili gramotnost. Články jsou velmi užitečné a já chci vidět čistý gramotný ruský text!))

MUCH DEAR admin! Řekněte mi, problémy s ruským jazykem jsou nemocemi všech IT specialistů? Pro koho to všechno píšete? Zkuste číst to, co jste psali vzdáleně z pohledu konvice! Zde je několik vašich perel:
. nastavit proměnnou prostředí. Jaké je životní prostředí? Kdo koho obklopil? Němci poblíž Moskvy nebo co? nebo -s -use shell co shell? Vaječné skořápky? Oloupání brambor? Nebo možná kondom? - Také skořápka. A jak používat?
Správně vám napsal BVZ, v opačném případě jste JEDNODUCHÉ.

Ano! Musíte znát podložku. část a budou moci prohledávat, jinak budou všechny články dlouhé 100500 znaků a nebude stačit na jejich napsání. Životní prostředí - https://losst.ru/peremennye-okruzheniya-v-linux, Shell - https://losst.ru/evolyutsiya-komandnyh-obolochek-linux

Zvláštní, začal jsem Thunar sudo a všechna pravidla fungovala, o gksu jsem nevěděl. Jaký je rozdíl? Pokud ano, jsem noob.

Faktem je, že sudo je navrženo pro provádění příkazů konzoly, zde nejsou nastaveny speciální proměnné prostředí, jako například DISPLAY atd. Pokud se pokusíte spustit grafickou aplikaci pomocí sudo v Gentoo nebo ArchLinux. Gksu a kdesu jsou speciálně navrženy pro běh grafických aplikací.

K dispozici je verze Ubuntu 18.04.1 LTS. Příkaz Gksu nefunguje

Vážený Sergeji! Děkujeme za vaše stránky. Právě jsme se začali učit Linux MX17 (XFCE). Tváří v tvář problému - některé programy přestaly běžet zkratkami (v terminálu je vše v pořádku). Причиной, наверное, является запуск SU без черточки, что повлекло изменение PATH для Root и прав на запуск этих программ. Как можно решить эту задачу (развернутая аналогичная ОС имеется на другом разделе)? Огромное спасибо за ответ и удачи.

Уважаемый Сергей! Выяснил дополнительно следующее:
1. При вводе su - выдает "сбой при проверке подлинности".
2. Программы, требующие привилегий (ввода пароля администратора) через графический интерфейс не запускаются. При этом, с терминала их запуск происходит нормально, запуск же программ, требующих привилегий root - без проблем.
3. Смена паролей пользователя и root результатов не дала. Пользователь (основной) - в группе sudo есть, команды sudo, sudo su работают, содержание файла etc/sudoers, значение $PATH проверил - соответствуют исходным данным.

Я не понимаю что у вас там происходит с ярлыками. Попробуйте сбросить настройки XFCE, вряд-ли тут su или sudo виноваты.

Сбросил. Без изменений. Все равно огромное спасибо и удачи. Буду искать дальше.

Do prdele je váš článek, nezbedný psát všechno. Potřebujete jednodušší. Ne všechny takové brýle, jako jsi ty

Vážený pane BVZ!

Dovolte mi opravit svůj komentář v souladu s pravidly komunikace přijímanými ve společnosti lidí.
Zdá se mi, že byste měli vyjádřit své myšlenky takto:

„Vážený Asdmin! Přijměte mou upřímnou vděčnost za váš článek o tak mimořádně důležitém tématu pro uživatele Linuxu, jako jsou práva superuživatele. Navzdory nepochybným výhodám vaší práce, dovolte mi, abych učinil několik kritických poznámek k tomu nejlepšímu z mé kompetence. Zdá se mi, že váš styl prezentace poněkud komplikované pro ty, kteří používají „Linux“. Doufám, že vaše další články pro mě budou srozumitelnější (například). Dovolte mi ještě jednou poděkovat za váš Linux, který je pro nás tak nezbytný , Práce. S pozdravem, BVZ. "

Vážený BVZ, pokud si chcete poslechnout svá slova a vnímat vás jako osobu, ne jako zvíře, naučte se být zdvořilí a kultivovaní.

Vážený admin!
Děkuji moc za váš článek. Koneckonců my, ti, kteří začínají používat systém Linux, toho mnoho nevíme, takže potřebujeme články, jako je ta vaše, jako je vzduch.
S pozdravem, A.N. Light

Pin
Send
Share
Send
Send