Chsh

From EIK wiki

Autor

Autor: Martin Avamere

Aasta: 2018

Selgitus

Linuxi terminali kaudu on meil võimalik muuta kasutajate sisselogimise shelli muutmiseks. Chsh lubab kasutada käivitatava faili puhul ka faili asukohta parameetrina. Kui antud shell ei ole lisatu /etc/shells faili, siis käsu käivitamine annab hoiatuse. Seda on võimalik konfigureerida ka nii, et käsk lubab kasutada ainult shelle, mis asuvad /etc/shells failis, juurkasutaja õigustes kasutaja puhul see ei kehti. Tavakasutaja saab iseenda shelli muuta, kuid juurkasutaja saab muuta kõigi kasutajate shelli.[1]

Süntaks

chsh [parameetrid][kasutajanimi]

Parameetrid

Valik Info
-s, --shell SHELL Selle abil saab täpsustada shelli, mida me soovime valida.
-R, --root CHROOT_DIR Viib läbi muudatused CHROOT_DIR kataloogis ja kasutab konfiguratsiooni faile CHROOT_DIR kataloogist.
-h, --help Näitab abiteksti.

Märkused

Ainukene takistus, mis sisselogimise shellil ilmneb on see, et see peab olema ära määratud /etc/shells/ failis, kui just käsu käivitaja ei ole ruutkasutaja, sel juhul võib ükskõik milliseid väärtusi lisada. Kasutaja keelava sisselogimise shelliga ei tohi antud kasutaja muuta enda shelli. Selle põhjusega asetades /bin/rsh kohta /etc/shells ei ole soovitatav, kuna kogemata muudetud shell ei lubaks kasutaja enam kunagi enda shell muuta algväärtuseks.[1]

/etc/passwd faili mõistmine

Seda faili kasutatakse registreeritud kasutajate jälgimiseks, kuna selles failis on salvestatud informatsioon kasutajate kohta, kellel on ligipääs antud süsteemis. Faili sisu on koolonitega eraldatud ning failis salvestatakse järgmine informatsioon:[2]

Kasutajanimi
Krüpteeritud parool
Kasutaja ID(UID)
Kasutaja grupi ID(GID)
Kasutaja täisnimi(GECOS)
Kasutaja kodukataloog
Sisselogimise shell

Näitena näeme, et antud pildil on ära toodud juurkasutaja kohta informatsioon, mis on järjest koolonitega eraldatud.

Passwd.png

/etc/shells faili mõistmine

Antud fail sisaldab lubatud shellide loetelu. Seda faili kasutavad mitmed käsud sealhulgas ka chsh käsklus.[3]

Nagu ka järgnevalt pildilt näha, oli käsu sisestamise hetkel /etc/shells failis 4 erinevat shelli. Etcshells.png

Shelli muutmine

Kõigepealt vaatame, mis meie kasutaja shell praeguse seisuga on kasutades järgmist käsku:

grep kasutajanimi /etc/passwd

Showshell.png

Nagu pildilt paistab on praeguse seisuga shelliks /bin/bash, kuid tahame selle ära muuta /bin/dash peale. Selle teostamiseks sisestame järgmise käsu:

chsh -s /bin/dash kasutajanimi

Shellmuutmine.png

Nagu pildilt näha, küsitakse shelli muutmisel meilt kõigepealt parooli. Kuvades uuesti kasutaja shelli kasutades järgmist käsklust:

grep kasutajanimi /etc/passwd

Uusshell.png

Näeme, et nüüd on meil shelliks /bin/dash.

Kasutatud allikad