Kako promijeniti zadanu korisničku ljusku u Linuxu


Ljuska, ili sučelje naredbenog retka, ključna je komponenta operativnog sustava Linux koja korisnicima pruža moćan način interakcije sa sustavom.

Svaki korisnik na Linux sustavu pridružen je zadanoj ljusci, koja određuje interpreter naredbi koji koristi u interakciji sa sustavom.

Promjena korisnikove zadane ljuske može biti potrebna iz raznih razloga, kao što su osobne preferencije ili potreba za određenim značajkama koje nudi druga ljuska.

U ovom ćemo članku istražiti proces promjene korisničke zadane ljuske u Linuxu. Ljuska je program koji prihvaća i interpretira naredbe; postoji nekoliko ljuski otvorenog koda kao što su bash, sh, ksh, zsh, fish, i mnoge druge manje poznate ljuske dostupne na Linuxu.

Linux Bash Shell

Bash (/bin/bash) je popularna ljuska na većini, ako ne i svim distribucijama Linuxa, i obično je zadana ljuska za korisničke račune.

Postoji nekoliko razloga za promjenu korisničke ljuske u Linuxu uključujući sljedeće:

  • Za blokiranje ili onemogućavanje normalnih korisničkih prijava u Linuxu pomoću ljuske nologin.
  • Upotrijebite skriptu omotača ljuske ili program za bilježenje korisničkih naredbi prije nego što se pošalju ljusci na izvršenje. Ovdje navodite omotač ljuske kao korisničku ljusku za prijavu.
  • Udovoljiti zahtjevima korisnika (želi koristiti određenu ljusku), posebno onih s administratorskim pravima.

Prilikom kreiranja korisničkih računa s uslužnim programima useradd ili adduser, zastavica --shell može se koristiti za određivanje imena korisničke ljuske za prijavu koja nije navedena u odgovarajućim konfiguracijskim datotekama.

Ljusci za prijavu može se pristupiti iz tekstualnog sučelja ili putem SSH-a s udaljenog Linux stroja. Međutim, ako se prijavite putem grafičkog korisničkog sučelja (GUI), možete pristupiti ljusci iz emulatora terminala poput xterm, konsole i mnogih drugih.

Navedite dostupne ljuske na Linux sustavu

U Linuxu se datoteka /etc/shells obično koristi za pohranu popisa instaliranih valjanih ljuski za prijavu na sustav. Ova datoteka pomaže u prepoznavanju koje su ljuske dostupne korisnicima za postavljanje kao zadane ljuske pomoću naredbi kao što je chsh.

Za pregled popisa dostupnih ljuski na Linux sustavu, možete koristiti sljedeću naredbu:

cat /etc/shells

Uzorak rezultata:

/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

Prije nego što nastavite dalje, imajte na umu sljedeće:

  • Korisnik može promijeniti vlastitu ljusku u bilo što: što, međutim, mora biti navedeno u datoteci /etc/shells.
  • Samo root može pokrenuti ljusku koja nije navedena u datoteci /etc/shells.
  • Ako račun ima ograničenu ljusku za prijavu, tada samo root može promijeniti ljusku tog korisnika.

Pronađite trenutnu ljusku u Linuxu

Prije promjene zadane korisničke ljuske, važno je odrediti trenutnu ljusku pokretanjem sljedeće naredbe echo, koja prikazuje trenutnu ljusku za prijavljenog korisnika.

echo $SHELL

/bin/bash

Izlaz pokazuje da korisnik trenutno koristi ljusku Bash (/bin/bash).

Promjena zadane ljuske u Linuxu

Sada raspravimo tri različita načina za promjenu zadane korisničke ljuske Linuxa.

1. uslužni program usermod

Naredba usermod koristi se za izmjenu detalja korisničkog računa, pohranjenih u datoteci /etc/passwd i opciji -s ili --shell koristi se za promjenu korisničke ljuske za prijavu.

U ovom primjeru prvo ćemo provjeriti podatke o korisničkom računu tecmint da bismo vidjeli njegovu zadanu ljusku za prijavu, a zatim promijeniti njegovu ljusku za prijavu iz /bin/sh u /bin/bash kao slijedi.

grep tecmint /etc/passwd
sudo usermod --shell /bin/bash tecmint
grep tecmint /etc/passwd

Sada će zadana ljuska za korisnika “tecmint” biti promijenjena u bash.

2. chsh Uslužni program

Naredba chsh koristi se za interaktivnu promjenu korisnikove zadane ljuske za prijavu pomoću opcije -s ili –shell kao što je prikazano.

grep tecmint /etc/passwd
sudo chsh --shell /bin/sh tecmint
grep tecmint /etc/passwd

Zamijenite “/bin/sh” stvarnim putem do ljuske koju želite postaviti. Na primjer, da postavite ljusku na sh, upotrijebili biste “/bin/sh“.

Važno je napomenuti da promjene zadane ljuske obično stupaju na snagu nakon vaše sljedeće prijave.

Prije svega dvije metode mijenjaju ljusku navedenu u /etc/passwd datoteci koju možete urediti ručno kao u trećoj metodi u nastavku.

3. Promijenite korisničku ljusku u datoteci /etc/passwd

U ovoj metodi jednostavno otvorite datoteku /etc/passwd koristeći bilo koji od svojih omiljenih uređivača teksta naredbenog retka i promijenite ljusku određenog korisnika.

sudo vi /etc/passwd
OR
sudo nano /etc/passwd

Pronađite redak koji odgovara korisniku za kojeg želite promijeniti zadanu ljusku. Na primjer, ako linija izgleda ovako:

tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/bash

Posljednje polje, /bin/bash, predstavlja zadanu ljusku (u ovom slučaju, Bash).

Kako biste promijenili vrijednost polja ljuske u željenu ljusku, jednostavno odredite stazu do ljuske (/bin/zsh) kao što je prikazano.

tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/zsh

Kada završite s uređivanjem, spremite i zatvorite datoteku.

Kako instalirati drugu školjku?

Slično drugim softverskim paketima, popularne ljuske kao što su Zsh i Fish mogu se lako instalirati iz repozitorija vaše distribucije kao što je prikazano.

Instalirajte Zsh Shell u Linux

Da biste instalirali Zsh na Linux, koristite sljedeću odgovarajuću naredbu za vašu specifičnu distribuciju Linuxa.

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]    

Instalirajte Fish Shell u Linux

Da biste instalirali Zsh na Linux, koristite sljedeću odgovarajuću naredbu za vašu specifičnu distribuciju Linuxa.

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]    

Ne zaboravite pročitati ove povezane teme:

U ovom smo članku opisali različite načine mijenjanja korisničke ljuske u Linuxu. Da biste s nama podijelili svoje mišljenje, upotrijebite odjeljak za komentare u nastavku.