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.