Shellin alustustiedostojen ja käyttäjäprofiilien ymmärtäminen Linuxissa


Linux on monen käyttäjän ajanjakojärjestelmä, mikä tarkoittaa, että useampi kuin yksi käyttäjä voi kirjautua sisään ja käyttää järjestelmää. Ja järjestelmänvalvojien tehtävänä on hallita erilaisia näkökohtia siitä, kuinka eri käyttäjät voivat käyttää järjestelmää asennuksen/päivityksen/poistamisen ohjelmien, suorittamiensa ohjelmien, tiedostojen, joita he voivat tarkastella/muokata, jne.

Linux sallii myös käyttäjien ympäristöjen luomisen tai ylläpitämisen kahdella päätavalla: käyttämällä järjestelmänlaajuisia (globaaleja) ja käyttäjäkohtaisia (henkilökohtaisia) kokoonpanoja. Normaalisti Linux-järjestelmän kanssa työskentelyn perusmenetelmä on kuori, ja kuori luo ympäristön riippuen tietyistä tiedostoista, jotka se lukee alustuksen aikana onnistuneen käyttäjän kirjautumisen jälkeen.

Tässä artikkelissa selitämme kuoren alustustiedostot suhteessa käyttäjäprofiileihin paikallista käyttäjien hallintaa varten Linuxissa. Ilmoitamme sinulle, missä mukautetut kuoritoiminnot, aliakset, muuttujat ja käynnistysohjelmat säilyvät.

Tärkeää: Tässä artikkelissa keskitymme bashiin, sh-yhteensopivaan kuoreen, joka on suosituin/käytetty kuori Linux-järjestelmissä.

Jos käytät eri shell-ohjelmaa (zsh, ash, fish jne.), Lue sen dokumentaatio läpi saadaksesi lisätietoja joistakin liittyvistä tiedostoista, joista puhumme täällä.

Shellin alustaminen Linuxissa

Kun kuori käynnistetään, on tiettyjä sen lukemia alustus-/käynnistystiedostoja, jotka auttavat luomaan ympäristön itse kuorelle ja järjestelmän käyttäjälle; eli ennalta määritetyt (ja räätälöidyt) toiminnot, muuttujat, aliakset ja niin edelleen.

Kuori voi lukea kaksi alustustiedostoluokkaa:

  • koko järjestelmän kattavat käynnistystiedostot - opinnäytetyöt sisältävät yleisiä kokoonpanoja, jotka koskevat kaikkia järjestelmän käyttäjiä ja sijaitsevat yleensä hakemistossa/etc. Ne sisältävät:/etc/profiles ja/etc/bashrc tai /etc/bash.bashrc.
  • käyttäjäkohtaiset käynnistystiedostot - nämä tallennuskokoonpanot, jotka koskevat järjestelmän yhtä käyttäjää ja sijaitsevat yleensä käyttäjien kotihakemistossa pistetiedostoina. Ne voivat ohittaa koko järjestelmän kattavat kokoonpanot. Ne sisältävät: .profiilit, .bash_profile, .bashrc ja .bash_login.

Jälleen kuori voidaan kutsua kolmessa mahdollisessa tilassa:

Kuori käynnistetään, kun käyttäjä on kirjautunut järjestelmään onnistuneesti/bin/login -toiminnolla luettuaan/etc/passwd-tiedostoon tallennetut tunnistetiedot.

Kun komentotulkki käynnistetään interaktiivisena kirjautumiskuorena, se lukee/etc/-profiilin ja sen käyttäjäkohtaisen vastaavan ~/.bash_profile.

Shell käynnistetään komentoriviltä käyttämällä shell-ohjelmaa, esimerkiksi $/bin/bash tai $/bin/zsh. Se voidaan myös käynnistää suorittamalla komento/bin/su.

Lisäksi interaktiivinen ei-sisäänkirjautuva kuori voidaan myös kutsua pääteohjelmalla, kuten konsole, xterm graafisen ympäristön sisällä.

Kun komentotulkki käynnistetään tässä tilassa, se kopioi ylätason kuoren ympäristön ja lukee käyttäjäkohtaisen ~/.bashrc-tiedoston käynnistystä varten.

$ su
# ls -la

Kuori käynnistetään, kun komentosarjan komentosarja on käynnissä. Tässä tilassa se käsittelee komentosarjaa (komentosarjan tai yleisten järjestelmän komentojen/toimintojen joukko) eikä vaadi käyttäjän syöttöä komentojen välillä, ellei toisin. Se toimii vanhemman kuoren perimällä ympäristöllä.

Järjestelmänlaajuisten Shell-käynnistystiedostojen ymmärtäminen

Tässä osiossa varjostamme enemmän valoa kuoren käynnistystiedostoille, jotka tallentavat kokoonpanot kaikille järjestelmän käyttäjille, ja niihin sisältyy

/ Etc/profile-tiedosto - se tallentaa järjestelmänlaajuiset ympäristöasetukset ja käynnistysohjelmat sisäänkirjautumista varten. Kaikki kokoonpanot, joita haluat käyttää kaikissa järjestelmän käyttäjien ympäristöissä, on lisättävä tähän tiedostoon.

Voit esimerkiksi asettaa globaalin PATH-ympäristömuuttujan tähän.

# cat /etc/profile

Huomaa: Joissakin järjestelmissä, kuten RHEL/CentOS 7, saat varoituksia: "Tätä tiedostoa ei suositella vaihtamaan, ellet tiedä mitä olet tekemässä. On paljon parempi luoda mukautettu .sh-komentotiedosto tiedostoon /etc/profile.d/, jotta voit tehdä mukautettuja muutoksia ympäristöön, koska tämä estää yhdistämisen tarpeen tulevissa päivityksissä. "

/Etc/profile.d/ -hakemisto - tallentaa shell-komentosarjat, joita käytetään mukautettujen muutosten tekemiseen ympäristöön:

# cd /etc/profile.d/
# ls  -l 

/ Etc/bashrc- tai /etc/bash.bashrc-tiedosto - sisältää järjestelmänlaajuiset toiminnot ja aliakset, mukaan lukien muut kokoonpanot, jotka koskevat kaikkia järjestelmän käyttäjiä.

Jos järjestelmässäsi on useita kuoretyyppejä, kannattaa laittaa bash-spesifiset kokoonpanot tähän tiedostoon.

# cat /etc/bashrc

Käyttäjäkohtaisten Shell-käynnistystiedostojen ymmärtäminen

Seuraavaksi selitämme lisää käyttäjäkohtaisista shell (bash) -käynnistyspistetiedostoista, jotka tallentavat tietyn käyttäjän kokoonpanot järjestelmään, ne sijaitsevat käyttäjän kotihakemistossa ja sisältävät:

# ls -la

~/.Bash_profile-tiedosto - tämä tallentaa käyttäjäkohtaiset ympäristö- ja käynnistysohjelmien kokoonpanot. Voit asettaa mukautetun PATH-ympäristömuuttujan täältä alla olevan kuvakaappauksen mukaisesti:

# cat ~/.bash_profile

~/.Bashrc-tiedosto - tämä tiedosto tallentaa käyttäjäkohtaiset aliakset ja toiminnot.

# cat ~/.bashrc

~/.Bash_login-tiedosto - se sisältää erityisiä kokoonpanoja, jotka suoritetaan tavallisesti vain, kun kirjaudut järjestelmään. Kun ~/.bash_profile-tiedostoa ei ole, bash lukee tämän tiedoston.

~/.Profile-tiedosto - tämä tiedosto luetaan ilman ~/.bash_profile ja ~/.bash_login; se voi tallentaa samat kokoonpanot, joihin pääsee käsiksi myös järjestelmän muilla kuorilla. Koska olemme puhuneet pääasiassa bashista täällä, ota huomioon, että muut kuoret eivät ehkä ymmärrä bashin syntaksia.

Seuraavaksi selitämme myös kaksi muuta tärkeää käyttäjäkohtaista tiedostoa, jotka eivät välttämättä ole bash-alustustiedostoja:

~/.Bash_history-tiedosto - bash ylläpitää komentojen historiaa, jonka käyttäjä on kirjoittanut järjestelmään. Tämä komentoluettelo säilytetään käyttäjän kotihakemistossa ~/.bash_history-tiedostossa.

Voit tarkastella tätä luetteloa kirjoittamalla:

$ history 
or 
$ history | less

~/.Bash_logout-tiedosto - sitä ei käytetä kuoren käynnistämiseen, mutta se tallentaa käyttäjäkohtaiset ohjeet uloskirjautumista varten. Se luetaan ja suoritetaan, kun käyttäjä poistuu interaktiivisesta kirjautumissuoresta.

Yksi käytännön esimerkki olisi tyhjentää pääteikkuna uloskirjautumisen yhteydessä. Tämä on tärkeää etäyhteyksille, jotka jättävät puhtaan ikkunan sulkemisen jälkeen:

# cat bash_logout 

Lisätietoja saat tutustumalla näiden kuoren alustustiedostojen sisältöön eri Linux-distroissa ja lukemalla myös bashin man-sivun:

Tässä kaikki tältä erää! Tässä artikkelissa selitimme kuoren käynnistys- ja alustustiedostot Linuxissa. Käytä alla olevaa kommenttilomaketta kirjoittaaksesi meille takaisin.