Hvordan endre standard brukerskall i Linux


Skallet, eller kommandolinjegrensesnittet, er en avgjørende komponent i Linux-operativsystemet, og gir brukerne en kraftig måte å samhandle med systemet på.

Hver bruker på et Linux-system er knyttet til et standardskall, som bestemmer kommandotolken de bruker når de samhandler med systemet.

Det kan være nødvendig å endre en brukers standardskall av ulike årsaker, for eksempel personlige preferanser eller behovet for spesifikke funksjoner som tilbys av et annet skall.

I denne artikkelen vil vi utforske prosessen med å endre en brukers standardskall i Linux. Skallet er et program som godtar og tolker kommandoer; det er flere åpen kildekode-skjell som bash, sh, ksh, zsh, fish, og mange andre mindre kjente skall tilgjengelig på Linux.

Linux Bash Shell

Bash (/bin/bash) er et populært skall på de fleste om ikke alle Linux-distribusjoner, og det er normalt standardskall for brukerkontoer.

Det er flere grunner til å endre en brukers skall i Linux, inkludert følgende:

  • For å blokkere eller deaktivere vanlige brukerpålogginger i Linux ved hjelp av et nologin-skall.
  • Bruk et shell wrapper-skript eller -program for å logge brukerkommandoer før de sendes til et shell for kjøring. Her spesifiserer du shell wrapper som en brukers påloggingsskall.
  • For å møte en brukers krav (ønsker å bruke et spesifikt skall), spesielt de med administrative rettigheter.

Når du oppretter brukerkontoer med useradd- eller adduser-verktøyene, kan --shell-flagget brukes til å spesifisere navnet på en brukers påloggingsskall annet enn det som er spesifisert i de respektive konfigurasjonsfilene.

Et påloggingsskall kan nås fra et tekstbasert grensesnitt eller via en SSH fra en ekstern Linux-maskin. Men hvis du logger på via et grafisk brukergrensesnitt (GUI), kan du få tilgang til skallet fra terminalemulatorer som xterm, konsole, og mange flere.

Liste over tilgjengelige skjell på et Linux-system

I Linux blir filen /etc/shells vanligvis brukt til å lagre en liste over installerte gyldige påloggingsskall på systemet. Denne filen hjelper til med å identifisere hvilke skall som er tilgjengelige for brukere å angi som standardskall ved hjelp av kommandoer som chsh.

For å se listen over tilgjengelige skall på et Linux-system, kan du bruke følgende kommando:

cat /etc/shells

Eksempelutdata:

/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

Før du går videre, vær oppmerksom på at:

  • En bruker kan endre sitt eget skall til hva som helst: som imidlertid må være oppført i /etc/shells-filen.
  • Bare root kan kjøre et skall som ikke er oppført i /etc/shells-filen.
  • Hvis en konto har et begrenset påloggingsskall, er det bare roten som kan endre brukerens skall.

Finn det nåværende skallet i Linux

Før du endrer en standard brukers skall, er det viktig å bestemme gjeldende skall ved å kjøre følgende ekkokommando, som viser gjeldende skall for den påloggede brukeren.

echo $SHELL

/bin/bash

Utdataene viser at brukeren for øyeblikket bruker Bash (/bin/bash)-skallet.

Endre standardskall i Linux

La oss nå diskutere tre forskjellige måter å endre standard Linux-brukerskallet på.

1. usermod-verktøy

Usermod-kommandoen brukes til å endre en brukers kontodetaljer, lagret i /etc/passwd-filen og alternativet -s eller --shell brukes til å endre brukerens påloggingsskall.

I dette eksemplet vil vi først sjekke brukerens tecmints kontoinformasjon for å se hans standard påloggingsskall og deretter endre påloggingsskallet fra /bin/sh til /bin/bash som følger.

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

Nå vil standardskallet for brukeren «tecmint» endres til bash.

2. chsh Utility

Kommandoen chsh brukes til å endre brukerens standard påloggingsskall interaktivt ved å bruke -s eller –shell-alternativet som vist.

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

Erstatt "/bin/sh" med den faktiske banen til skallet du vil angi. For å sette skallet til sh, bruker du for eksempel «/bin/sh».

Det er viktig å merke seg at endringer i standardskallet vanligvis trer i kraft ved neste pålogging.

De to metodene fremfor alt endrer skallet spesifisert i /etc/passwd-filen som du kan redigere manuelt som i den tredje metoden nedenfor.

3. Endre brukerskall i filen /etc/passwd

I denne metoden åpner du bare /etc/passwd-filen ved å bruke en av dine favoritt-kommandolinjetekstredigerere og endrer en spesifikk brukers skall.

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

Finn linjen som tilsvarer brukeren du vil endre standardskallet for. For eksempel, hvis linjen ser slik ut:

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

Det siste feltet, /bin/bash, representerer standardskallet (i dette tilfellet Bash).

For å endre verdien av skallfeltet til ønsket skall, spesifiser du bare banen til et skall (/bin/zsh) som vist.

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

Når du er ferdig med å redigere, lagre og lukk filen.

Hvordan installere et annet skall?

I likhet med andre programvarepakker kan populære skall som Zsh og Fish enkelt installeres fra distribusjonens depot som vist.

Installer Zsh Shell i Linux

For å installere Zsh på Linux, bruk følgende passende kommando for din spesifikke Linux-distribusjon.

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]    

Installer Fish Shell i Linux

For å installere Zsh på Linux, bruk følgende passende kommando for din spesifikke Linux-distribusjon.

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]    

Ikke glem å lese disse relaterte emnene:

I denne artikkelen beskrev vi ulike måter å endre en brukers skall i Linux. For å dele noen tanker med oss, bruk kommentarfeltet nedenfor.