GNU/Linux >> Znalost Linux >  >> Linux

Jak spustit příkaz jako správce systému (root)?

Potřebuji spustit příkaz s oprávněními správce. Někdo řekl, že bych měl spustit příkaz jako root. Jak to udělám?

Přijatá odpověď:

Hlavní dvě možnosti příkazového řádku jsou:

  • Použijte su a po zobrazení výzvy zadejte heslo uživatele root.
  • Vložte sudo před příkaz a po zobrazení výzvy zadejte své heslo.

Spuštění příkazu shellu jako root

sudo (preferováno, když nepoužíváte grafický displej)

Toto je preferovaná metoda na většině systémů, včetně Ubuntu, Linux Mint, (pravděpodobně) Debianu a dalších. Pokud neznáte samostatné heslo uživatele root, použijte tuto metodu.

Sudo vyžaduje zadání vlastního hesla. (Účelem je omezit poškození, pokud necháte klávesnici bez dozoru a odemčenou, a také zajistit, že skutečně chcete spustit tento příkaz a nebylo to např. překlep.) Často je nakonfigurován tak, aby se na několik minut znovu nezeptal, takže můžete spustit několik sudo příkazy za sebou.

Příklad:

sudo service apache restart

Pokud potřebujete spustit několik příkazů jako root, před každým z nich uveďte sudo . Někdy je výhodnější spustit interaktivní shell jako root. Můžete použít sudo -i za to:

$ sudo -i
# command 1
# command 2
...
# exit

Místo sudo -i , můžete použít sudo -s . Rozdíl je v tom, že -i rei inicializuje prostředí na rozumné výchozí hodnoty, zatímco -s používá vaše konfigurační soubory k lepšímu i horšímu.

Další informace najdete na webu sudo nebo zadejte man sudo na vašem systému. Sudo je velmi konfigurovatelné; například může být nakonfigurován tak, aby umožnil určitému uživateli provádět pouze určité příkazy jako root. Přečtěte si sudoers manuálová stránka pro více informací; použijte sudo visudo upravit soubor sudoers.

su

su příkaz existuje na většině unixových systémů. Umožňuje vám spustit příkaz jako jiný uživatel, pokud znáte heslo tohoto uživatele. Při spuštění bez zadaného uživatele su bude jako výchozí nastaven účet root.

Příklad:

su -c 'service apache restart'

Příkaz ke spuštění musí být předán pomocí -c volba. Všimněte si, že potřebujete uvozovky, aby příkaz nebyl analyzován vaším shellem, ale předán beze změny kořenovému shellu, který su běží.

Chcete-li spouštět více příkazů jako root, je pohodlnější spustit interaktivní shell.

$ su
# command 1
# command 2
...
# exit

Na některých systémech musíte být ve skupině číslo 0 (nazývané wheel ) použijte su . (Jde o to omezit škody, pokud by někomu náhodou uniklo heslo root.)

Přihlášení jako root

Pokud je nastaveno heslo root a vy je vlastníte, můžete jednoduše napsat root na výzvu k přihlášení a zadejte heslo uživatele root. Buďte velmi opatrní a vyhněte se spouštění složitých aplikací jako root, protože by mohly dělat něco, co jste nezamýšleli. Přihlášení přímo jako root je užitečné hlavně v nouzových situacích, jako je selhání disku nebo když se zablokujete ke svému účtu.

Režim jednoho uživatele

Režim pro jednoho uživatele nebo úroveň běhu 1 vám také poskytuje oprávnění root. To je určeno především pro situace nouzové údržby, kdy není možné zavést systém na úrovni běhu pro více uživatelů. Můžete spustit režim pro jednoho uživatele předáním single nebo emergency na příkazovém řádku jádra. Všimněte si, že spuštění v režimu pro jednoho uživatele není totéž jako normální spuštění systému a přihlášení jako root. Systém spíše spustí pouze služby definované pro úroveň běhu 1. Obvykle se jedná o nejmenší počet služeb potřebný k tomu, aby byl použitelný systém.

Související:Jak vytvořit oddíl ve volném prostoru pomocí GNU Parted?

Do režimu jednoho uživatele se můžete dostat také pomocí příkazu telinit:telinit 1; tento příkaz však vyžaduje, abyste již získali oprávnění uživatele root prostřednictvím jiné metody, aby bylo možné spustit.

Na mnoha systémech zavádění do režimu jednoho uživatele poskytne uživateli přístup k root shellu bez výzvy k zadání hesla. Zejména systemd -based systems vás při zavádění tímto způsobem vyzve k zadání hesla uživatele root.

Další programy

Calife

Calife vám umožňuje spouštět příkazy jako jiný uživatel zadáním vlastního hesla, pokud máte oprávnění. Je to podobné jako mnohem rozšířenější sudo (viz výše). Calife je lehčí než sudo, ale také méně konfigurovatelný.

Op

Op umožňuje spouštět příkazy jako jiný uživatel, včetně root. Toto není plnohodnotný nástroj pro spouštění libovolných příkazů:zadáte op následuje mnemotechnická pomůcka nakonfigurovaný správcem systému ke spuštění konkrétního příkazu.

Skvělé

Super umožňuje spouštět příkazy jako jiný uživatel, včetně root. Příkaz musí být povolen správcem systému.

Spuštění grafického příkazu jako root

PolicyKit (preferovaný při používání GNOME)

Jednoduše zadejte před požadovaný příkaz příkaz pkexec . Uvědomte si, že i když to ve většině případů funguje, nefunguje to univerzálně.

Viz man pkexec pro více informací.

KdeSu, KdeSudo (preferováno při používání KDE)

kdesu a kdesudo jsou grafická rozhraní pro su a sudo resp. Umožňují vám spouštět programy X Window jako root bez potíží. Jsou součástí KDE. Typ

kdesu -c 'command --option argument'

a zadejte heslo uživatele root nebo zadejte

kdesudo -c 'command --option argument'

a zadejte své heslo (pokud máte oprávnění ke spuštění sudo ). Pokud zaškrtnete možnost „zachovat heslo“ v KdeSu, budete muset zadat heslo uživatele root pouze jednou za přihlášení.

Další programy

Ktsuss

Ktsuss („keep the su simple, stupid“) je grafická verze su.

Beesu

Beesu je grafický front-end příkazu su, který nahradil Gksu v operačních systémech založených na Red Hatu. Byl vyvinut hlavně pro RHEL a Fedoru.

Zastaralé metody

gksu a gksudo

gksu a gksudo jsou grafická rozhraní pro su a sudo resp. Umožňují vám spouštět programy X Window jako root bez potíží. Jsou součástí Gnome. Typ

gksu command --option argument

a zadejte heslo uživatele root nebo zadejte

gksudo command --option argument

a zadejte své heslo (pokud máte oprávnění ke spuštění sudo ).

gksu a gksudo jsou zastaralé. V GNOME je nahradil PolicyKit a mnoho distribucí (například Ubuntu) je již ve výchozím nastavení neinstaluje. Neměli byste se spoléhat na to, že jsou dostupné nebo fungují správně.

Ručně pomocí jedné z metod založených na shellu

Použijte jednu z metod v části „spuštění příkazu shellu jako kořenový adresář“. Budete se muset ujistit, že ani DISPLAY proměnná prostředí ani XAUTHORITY prostředí se resetuje během přechodu na root. To může vyžadovat další konfiguraci těchto metod, která je mimo rozsah této otázky.

Celkově je to špatný nápad, hlavně proto, že grafické aplikace budou číst a zapisovat konfigurační soubory jako root, a když se pokusíte tyto aplikace znovu použít jako váš normální uživatel, tyto aplikace nebudou mít oprávnění číst své vlastní konfigurace.

Související:Macos – Spustit příkaz při spuštění terminálu (macOS)?

Úprava souboru jako root

Viz Jak upravím soubor jako root?


Linux
  1. Jak spustit příkaz, který zahrnuje přesměrování nebo potrubí pomocí Sudo?

  2. Jak nainstaluji skript pro spuštění kdekoli z příkazového řádku?

  3. Jak spustit příkaz Vim z shellu?

  1. Jak používat Linuxový příkaz grep

  2. Jak spustit příkaz na pozadí se zpožděním?

  3. Jak pomocí nohup pokračovat ve spouštění příkazu po odhlášení uživatele?

  1. Jak používat příkaz historie v Linuxu

  2. Jak používat příkaz basename?

  3. Jak spustit příkaz bez vlastností root?