Jak změnit výchozí uživatelské prostředí v Linuxu
Shell neboli rozhraní příkazového řádku je klíčovou součástí operačního systému Linux a poskytuje uživatelům výkonný způsob interakce se systémem.
Každý uživatel v systému Linux je spojen s výchozím shellem, který určuje interpreter příkazů, který používají při interakci se systémem.
Změna výchozího prostředí uživatele může být nezbytná z různých důvodů, jako jsou osobní preference nebo potřeba specifických funkcí nabízených jiným prostředím.
V tomto článku prozkoumáme proces změny výchozího prostředí uživatele v systému Linux. Shell je program, který přijímá a interpretuje příkazy; existuje několik shellů s otevřeným zdrojovým kódem, jako jsou bash, sh, ksh, zsh, fish, a mnoho dalších méně známých shellů dostupných v Linuxu.
Linux Bash Shell
Bash (/bin/bash) je oblíbený shell ve většině distribucí Linuxu, pokud ne ve všech, a obvykle je výchozím prostředím pro uživatelské účty.
Existuje několik důvodů pro změnu uživatelského prostředí v Linuxu, včetně následujících:
- Chcete-li zablokovat nebo zakázat normální přihlášení uživatelů v Linuxu pomocí nologin shellu.
- Použijte skript nebo program shell wrapper k protokolování uživatelských příkazů před jejich odesláním do shellu ke spuštění. Zde určíte obal shellu jako přihlašovací shell uživatele.
- Pro splnění požadavků uživatele (chce používat specifický shell), zejména těch s administrátorskými právy.
Při vytváření uživatelských účtů pomocí obslužných programů useradd nebo adduser lze příznak --shell
použít ke specifikaci jiného jména uživatelského přihlašovacího prostředí, než je uvedeno v příslušných konfiguračních souborech.
Přihlašovací shell je přístupný z textového rozhraní nebo přes SSH ze vzdáleného linuxového počítače. Pokud se však přihlásíte pomocí grafického uživatelského rozhraní (GUI), můžete k shellu přistupovat z terminálových emulátorů, jako jsou xterm, konsole a mnoho dalších.
Seznam dostupných shellů v systému Linux
V Linuxu se běžně používá soubor /etc/shells k uložení seznamu nainstalovaných platných přihlašovacích shellů v systému. Tento soubor pomáhá při identifikaci, které shelly jsou uživatelům k dispozici k nastavení jako jejich výchozí shell pomocí příkazů jako chsh.
Chcete-li zobrazit seznam dostupných shellů v systému Linux, můžete použít následující příkaz:
cat /etc/shells
Ukázkový výstup:
/etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/screen
Než budete pokračovat, mějte na paměti, že:
- Uživatel může změnit svůj vlastní shell na cokoli: což však musí být uvedeno v souboru /etc/shells.
- Pouze root může spustit shell, který není uveden v souboru /etc/shells.
- Pokud má účet omezený přihlašovací shell, pak pouze root může změnit shell tohoto uživatele.
Najděte aktuální prostředí v Linuxu
Před změnou výchozího uživatelského shellu je důležité určit aktuální shell spuštěním následujícího příkazu echo, který zobrazí aktuální shell pro přihlášeného uživatele.
echo $SHELL
/bin/bash
Výstup ukazuje, že uživatel aktuálně používá prostředí Bash (/bin/bash).
Změna výchozího prostředí v Linuxu
Nyní probereme tři různé způsoby, jak změnit výchozí uživatelské prostředí Linuxu.
1. Usermod Utility
Příkaz usermod se používá k úpravě podrobností o uživatelském účtu, uložených v souboru /etc/passwd a volbě -s
nebo --shell
se používá ke změně přihlašovacího shellu uživatele.
V tomto příkladu nejprve zkontrolujeme informace o účtu uživatele tecmint, abychom viděli jeho výchozí přihlašovací shell, a poté změníme jeho přihlašovací shell z /bin/sh na /bin/bash jako následuje.
grep tecmint /etc/passwd
sudo usermod --shell /bin/bash tecmint
grep tecmint /etc/passwd
Nyní se výchozí shell pro uživatele „tecmint“ změní na bash.
2. Nástroj chsh
Příkaz chsh se používá k interaktivní změně výchozího přihlašovacího prostředí uživatele pomocí volby -s
nebo –shell, jak je znázorněno na obrázku.
grep tecmint /etc/passwd
sudo chsh --shell /bin/sh tecmint
grep tecmint /etc/passwd
Nahraďte „/bin/sh“ skutečnou cestou k shellu, který chcete nastavit. Například pro nastavení shellu na sh byste použili „/bin/sh“.
Je důležité si uvědomit, že změny výchozího prostředí se obvykle projeví při vašem příštím přihlášení.
Tyto dvě metody především upravují shell specifikovaný v souboru /etc/passwd, který můžete upravit ručně jako ve třetí metodě níže.
3. Změňte uživatelské prostředí v souboru /etc/passwd
Při této metodě jednoduše otevřete soubor /etc/passwd pomocí libovolného z vašich oblíbených textových editorů příkazového řádku a změňte prostředí konkrétního uživatele.
sudo vi /etc/passwd
OR
sudo nano /etc/passwd
Vyhledejte řádek odpovídající uživateli, pro kterého chcete změnit výchozí shell. Pokud řádek vypadá například takto:
tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/bash
Poslední pole, /bin/bash, představuje výchozí shell (v tomto případě Bash).
Chcete-li změnit hodnotu pole shellu na požadovaný shell, jednoduše zadejte cestu k shellu (/bin/zsh) podle obrázku.
tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/zsh
Po dokončení úprav soubor uložte a zavřete.
Jak nainstalovat další Shell?
Podobně jako u jiných softwarových balíčků lze oblíbené shelly jako Zsh a Fish snadno nainstalovat z úložiště vaší distribuce, jak je znázorněno.
Nainstalujte Zsh Shell v Linuxu
Chcete-li nainstalovat Zsh na Linux, použijte následující příkaz vhodný pro vaši konkrétní distribuci Linuxu.
sudo apt install zsh [On Debian, Ubuntu and Mint]
sudo yum install zsh [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/zsh [On Gentoo Linux]
sudo apk add zsh [On Alpine Linux]
sudo pacman -S zsh [On Arch Linux]
sudo zypper install zsh [On OpenSUSE]
Nainstalujte Fish Shell v Linuxu
Chcete-li nainstalovat Zsh na Linux, použijte následující příkaz vhodný pro vaši konkrétní distribuci Linuxu.
sudo apt install fish [On Debian, Ubuntu and Mint]
sudo yum install fish [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/fish [On Gentoo Linux]
sudo apk add fish [On Alpine Linux]
sudo pacman -S fish [On Arch Linux]
sudo zypper install fish [On OpenSUSE]
Nezapomeňte si přečíst tato související témata:
V tomto článku jsme popsali různé způsoby změny uživatelského prostředí v Linuxu. Chcete-li se s námi podělit o jakékoli myšlenky, použijte sekci komentářů níže.