Úvod
V Linuxu su
příkaz (přepnout uživatele) se používá ke spuštění příkazu jako jiný uživatel.
V této příručce se dozvíte, jak používat su
příkaz s praktickými příklady.
Předpoklady
- Systém se systémem Linux
- Přístup k oknu terminálu/příkazovému řádku (Ctrl-Alt-T, Ctrl-Alt-F2)
Jak funguje příkaz su
su
příkaz se používá ke spuštění funkce jako jiný uživatel. Je to nejjednodušší způsob, jak přepnout nebo změnit účet správce v aktuálně přihlášené relaci.
Některé verze Linuxu, jako je Ubuntu, ve výchozím nastavení zakazují uživatelský účet root, čímž je systém bezpečnější. To však také omezuje uživatele ve spouštění konkrétních příkazů.
Pomocí su
dočasně působit jako uživatel root vám umožňuje obejít toto omezení a provádět různé úkoly s různými uživateli.
Syntaxe příkazu su
Chcete-li použít su
zadejte jej do příkazového řádku následovně:
su [options] [username [arguments]]
Pokud je zadáno uživatelské jméno, su
výchozí je superuživatel (root). Jednoduše vyhledejte uživatele, kterého potřebujete, a přidejte jej do su
syntaxe příkazu.
Možnosti příkazu su
Chcete-li zobrazit seznam příkazů, zadejte následující:
su –h
Zde jsou některé běžné možnosti pro použití s su
příkaz:
Username
– Nahraďte uživatelské jméno se skutečným uživatelským jménem, kterým se chcete přihlásit. Může to být jakýkoli uživatel, nejen root.–c
nebo–command [command]
– Spustí konkrétní příkaz jako určený uživatel.–
nebo–l
nebo–login [username]
– Spustí přihlašovací skript pro změnu na konkrétní uživatelské jméno. Pro tohoto uživatele budete muset zadat heslo.–s
nebo–shell [shell]
– Umožňuje určit jiné prostředí prostředí, ve kterém se má spustit.–h
nebo–help
– Zobrazit soubor nápovědy prosu
příkaz.–p
nebo––preserve–environment
– Zachovejte skořápku životní prostředí (HOME, SHELL, USER, LOGNAME).
Příklady příkazů su
Přepnout na jiného uživatele
Chcete-li přepnout přihlášeného uživatele v tomto okně terminálu, zadejte následující:
su –l [other_user]
Budete požádáni o heslo. Zadejte jej a přihlášení se změní na tohoto uživatele.
Pokud vynecháte uživatelské jméno, použije se jako výchozí root účet. Nyní může přihlášený uživatel spouštět všechny systémové příkazy. Tím se také změní domovský adresář a cesta ke spustitelným souborům.
Použijte whoami
příkaz k ověření, že jste přešli na jiného uživatele.
Spustit konkrétní příkaz jako jiný uživatel
Chcete-li spustit konkrétní příkaz jako jiný uživatel, použijte –c
možnost:
su –c [command] [other_user]
Systém odpoví dotazem na uživatelské heslo.
Když zadáte tento příklad, systém použije zadaný účet ke spuštění ls
(vypsat obsah adresáře).
Použít jiný shell
Chcete-li použít jiný shell nebo operační prostředí, zadejte následující:
su –s /usr/bin/zsh
Tento příkaz otevře uživatelský účet root v Z shellu .
Použít jiného uživatele ve stejném prostředí
Prostředí aktuálního uživatelského účtu můžete zachovat pomocí –p
možnost:
su –p [other_user]
Nahraďte [other_user] se skutečným uživatelským jménem, na které se chcete přepnout.
Uživatelský účet se přepne, ale zůstane vám stejný domovský adresář. To je užitečné, pokud potřebujete spustit příkaz jako jiný uživatel, ale potřebujete přístup k datům aktuálního uživatele.
Chcete-li ověřit, že jste zůstali ve stejném domácím prostředí, použijte echo $HOME
příkaz, který zobrazí adresář, ve kterém pracujete.
Porovnání příkazů:su vs sudo
Příkaz sudo
sudo
příkaz uděluje jednorázový nebo časově omezený přístup k funkcím root. Obvykle sudo
příkaz se používá k rychlému spuštění příkazu pro správu a následnému návratu k běžným oprávněním uživatelského účtu.
Chcete-li poskytnout přístup k sudo, uživatel musí být přidán do skupiny sudo.
Příkaz su
su
umožňuje přepnout aktuálního uživatele na jiného uživatele. Pokud potřebujete spustit příkaz jako jiný uživatel (jiný než root), použijte –l [username]
možnost zadat uživatelský účet. Navícsu
lze také použít ke změně na jiný interpret shellu za běhu.
su
je starší, ale plně vybavený příkaz. Může duplikovat funkce sudo
pomocí –c
možnost předat shellu jeden příkaz.