Kuinka muuttaa oletuskäyttäjän kuori Linuxissa


Shell tai komentorivikäyttöliittymä on Linux-käyttöjärjestelmän tärkeä osa, joka tarjoaa käyttäjille tehokkaan tavan olla vuorovaikutuksessa järjestelmän kanssa.

Jokainen Linux-järjestelmän käyttäjä liitetään oletuskuoreen, joka määrittää komentotulkin, jota he käyttävät vuorovaikutuksessa järjestelmän kanssa.

Käyttäjän oletuskuoren vaihtaminen voi olla tarpeen useista syistä, kuten henkilökohtaisista mieltymyksistä tai eri kuoren tarjoamien erityisominaisuuksien tarpeesta.

Tässä artikkelissa tutkimme prosessia, jolla käyttäjän oletuskuori vaihdetaan Linuxissa. Shell on ohjelma, joka hyväksyy ja tulkitsee komentoja; on olemassa useita avoimen lähdekoodin kuoria, kuten bash, sh, ksh, zsh, fish, ja monet muut vähemmän tunnetut kuoret, jotka ovat saatavilla Linuxissa.

Linux Bash Shell

Bash (/bin/bash) on suosittu komentotulkki useimmissa ellei kaikissa Linux-jakeluissa, ja se on yleensä käyttäjätilien oletuskuori.

Käyttäjän kuoren vaihtamiseen Linuxissa on useita syitä, mukaan lukien seuraavat:

  • Normaalien käyttäjien kirjautumisten estäminen tai poistaminen käytöstä Linuxissa nologin-kuoren avulla.
  • Käytä komentotulkin kääre komentosarjaa tai ohjelmaa käyttäjien komennon kirjaamiseen ennen kuin ne lähetetään komentotulkkiin suoritettaviksi. Tässä määrität kuoren kääreen käyttäjän kirjautumiskuoreksi.
  • Vastatakseen käyttäjän vaatimuksiin (haluaa käyttää tiettyä kuorta), erityisesti niiden, joilla on järjestelmänvalvojan oikeudet.

Kun luot käyttäjätilejä useradd- tai adduser-apuohjelmilla, --shell-lippua voidaan käyttää määrittämään käyttäjän kirjautumiskuoren nimi, joka ei ole vastaavissa asetustiedostoissa määritetty.

Kirjautumiskuoreen pääsee tekstipohjaisesta käyttöliittymästä tai SSH:n kautta Linux-etäkoneesta. Jos kuitenkin kirjaudut sisään graafisen käyttöliittymän (GUI) kautta, voit käyttää komentotulkkia pääteemulaattoreista, kuten xterm, konsole ja monista muista.

Luettelo Linux-järjestelmän käytettävissä olevista kuorista

Linuxissa tiedostoa /etc/shells käytetään yleensä tallentamaan luettelo asennetuista kelvollisista kirjautumiskuorista järjestelmään. Tämä tiedosto auttaa tunnistamaan, mitkä komentotulokset ovat käytettävissä, jotta käyttäjät voivat asettaa oletuskomentoja käyttämällä komentoja, kuten chsh.

Voit tarkastella Linux-järjestelmän käytettävissä olevien komentotulkkien luetteloa käyttämällä seuraavaa komentoa:

cat /etc/shells

Näytetulos:

/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

Ennen kuin jatkat, huomaa seuraavaa:

  • Käyttäjä voi muuttaa oman komentotulkansa mihin tahansa, mikä kuitenkin on lueteltava /etc/shells-tiedostossa.
  • Vain root voi suorittaa komentotulkin, jota ei ole mainittu /etc/shells-tiedostossa.
  • Jos tilillä on rajoitettu sisäänkirjautumiskuori, vain pääkäyttäjä voi muuttaa kyseisen käyttäjän kuorta.

Etsi nykyinen kuori Linuxissa

Ennen kuin muutat oletuskäyttäjän komentotulkkia, on tärkeää määrittää nykyinen komentotulkki suorittamalla seuraava echo-komento, joka näyttää sisäänkirjautuneen käyttäjän nykyisen kuoren.

echo $SHELL

/bin/bash

Tulos näyttää, että käyttäjä käyttää tällä hetkellä Bash (/bin/bash) -kuorta.

Oletuskuoren muuttaminen Linuxissa

Keskustellaan nyt kolmesta eri tavasta muuttaa oletusarvoisen Linux-käyttäjäkuori.

1. usermod-apuohjelma

Usermod-komentoa käytetään käyttäjän tilin tietojen muokkaamiseen, jotka on tallennettu /etc/passwd-tiedostoon ja -s- tai --shell-vaihtoehtoon. käytetään vaihtamaan käyttäjän kirjautumiskuori.

Tässä esimerkissä tarkistamme ensin käyttäjän tecmint-tilin tiedot nähdäksemme hänen oletusarvoisen kirjautumiskuoren ja muutamme sitten sen kirjautumiskuoren /bin/sh muotoon /bin/bash. seuraa.

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

Nyt käyttäjän tecmint oletuskuori muutetaan muotoon bash.

2. chsh-apuohjelma

chsh-komentoa käytetään käyttäjän oletuskirjautumiskuoren muuttamiseen interaktiivisesti käyttämällä -s- tai -shell-vaihtoehtoa kuvan mukaisesti.

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

Korvaa "/bin/sh" määritettävän komentotulkin todellisella polulla. Jos haluat esimerkiksi asettaa komentotulkin arvoon sh, käytä "/bin/sh".

On tärkeää huomata, että muutokset oletuskuoreen tulevat yleensä voimaan seuraavan kirjautumisen yhteydessä.

Nämä kaksi menetelmää muokkaavat ennen kaikkea /etc/passwd-tiedostossa määritettyä komentotulkkia, jota voit muokata manuaalisesti alla olevan kolmannen menetelmän mukaisesti.

3. Muuta User Shell -tiedostoa /etc/passwd-tiedostossa

Tässä menetelmässä yksinkertaisesti avaa /etc/passwd-tiedosto millä tahansa suosikkikomentorivin tekstieditorillasi ja vaihda tietyn käyttäjän komentotulkki.

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

Etsi rivi, joka vastaa käyttäjää, jonka oletuskuoren haluat muuttaa. Jos rivi näyttää esimerkiksi tältä:

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

Viimeinen kenttä, /bin/bash, edustaa oletuskuorta (tässä tapauksessa Bash).

Muuttaaksesi komentotulkkikentän arvon halutuksi komentotulkkiksi, määritä yksinkertaisesti komentotulkin polku (/bin/zsh) kuvan mukaisesti.

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

Kun olet valmis, tallenna ja sulje tiedosto.

Kuinka asentaa toinen kuori?

Muiden ohjelmistopakettien tapaan suosittuja kuorita, kuten Zsh ja Fish, voidaan helposti asentaa jakelusi arkistosta kuvan osoittamalla tavalla.

Asenna Zsh Shell Linuxiin

Asenna Zsh Linuxiin käyttämällä seuraavaa Linux-jakelullesi sopivaa komentoa.

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]    

Asenna Fish Shell Linuxiin

Asenna Zsh Linuxiin käyttämällä seuraavaa Linux-jakelullesi sopivaa komentoa.

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]    

Älä unohda lukea näitä aiheeseen liittyviä aiheita:

Tässä artikkelissa kuvailimme erilaisia tapoja muuttaa käyttäjän kuorta Linuxissa. Jos haluat jakaa ajatuksia kanssamme, käytä alla olevaa kommenttiosaa.