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 eri näkökohtia siitä, kuinka eri käyttäjät voivat käyttää järjestelmää ohjelmistojen asentamisen/päivittämisen/poistamisen, suoritettavien ohjelmien, tiedostojen katselun/muokkauksen ja niin edelleen.

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

Suositeltu luku: Ympäristömuuttujien asettaminen Linuxissa

Tässä artikkelissa selitämme komentotulkin alustustiedostot liittyen käyttäjäprofiileihin paikallista käyttäjien hallintaa varten Linuxissa. Kerromme sinulle, missä voit säilyttää mukautettuja shell-funktioita, aliaksia, muuttujia sekä käynnistysohjelmia.

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

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

Shellin alustus Linuxissa

Kun komentotulkki vedetään, se lukee tiettyjä alustus-/käynnistystiedostoja, jotka auttavat määrittämään ympäristön itse shellille ja järjestelmän käyttäjälle; eli ennalta määritettyjä (ja mukautettuja) toimintoja, muuttujia, aliaksia ja niin edelleen.

Shellin lukemia alustustiedostoja on kaksi luokkaa:

  • järjestelmänlaajuiset käynnistystiedostot – opinnäytetyöt sisältävät yleisiä määrityksiä, jotka koskevat kaikkia järjestelmän käyttäjiä ja jotka sijaitsevat yleensä /etc-hakemistossa. Niitä ovat: /etc/profiles ja /etc/bashrc tai /etc/bash.bashrc.
  • käyttäjäkohtaiset käynnistystiedostot – nämä tallentavat kokoonpanot, jotka koskevat yhtä järjestelmän käyttäjää ja sijaitsevat tavallisesti käyttäjien kotihakemistossa pistetiedostoina. Ne voivat ohittaa koko järjestelmän kokoonpanot. Niihin kuuluvat: .profiles, .bash_profile, .bashrc ja .bash_login.

Jälleen kuori voidaan kutsua kolmessa mahdollisessa tilassa:

1. Interaktiivinen kirjautumiskuori

Komentotulkki kutsutaan, kun käyttäjä on kirjautunut sisään järjestelmään /bin/login-komennolla, kun hän on lukenut /etc/passwd-tiedostoon tallennetut tunnistetiedot.

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

2. Interaktiivinen sisäänkirjautumaton Shell

Komentotulkki käynnistetään komentoriviltä komentotulkkiohjelmalla, esimerkiksi $/bin/bash tai $/bin/zsh. Se voidaan myös käynnistää suorittamalla /bin/su-komento.

Lisäksi interaktiivinen ei-kirjautumiskuori voidaan kutsua pääteohjelmalla, kuten konsole, terminator tai xterm, graafisesta ympäristöstä.

Kun komentotulkki käynnistetään tässä tilassa, se kopioi ylätason komentotulkin ympäristön ja lukee käyttäjäkohtaisen ~/.bashrc-tiedoston saadakseen lisää käynnistysmääritysohjeita.

su
ls -la

3. Ei-interaktiivinen Shell

Komentotulkki kutsutaan, kun komentotulkkikomentosarja on käynnissä. Tässä tilassa se käsittelee komentosarjaa (joukko komentotulkkia tai yleisiä järjestelmäkomentoja/toimintoja) eikä vaadi käyttäjän syötteitä komentojen välillä, ellei toisin. Se toimii käyttämällä ympäristöä, joka on peritty emokuorista.

Järjestelmän laajuisten Shell-käynnistystiedostojen ymmärtäminen

Tässä osiossa valotamme enemmän shell-käynnistystiedostoja, jotka tallentavat kokoonpanot kaikille järjestelmän käyttäjille. Näitä ovat mm.

/etc/profile-tiedosto – se tallentaa järjestelmänlaajuiset ympäristömääritykset ja käynnistysohjelmat kirjautumisen määritystä varten. Kaikki kokoonpanot, joita haluat käyttää kaikissa järjestelmän käyttäjien ympäristöissä, tulee lisätä tähän tiedostoon.

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

cat /etc/profile

Huomaa: tietyissä järjestelmissä, kuten RHEL/CentOS 7, saat seuraavanlaisia varoituksia: "Ei ole suositeltavaa muuttaa tätä tiedostoa, ellet tiedä mitä olet tekemässä. On paljon parempi luoda mukautettu .sh komentosarja tiedostoon /etc/profile.d/, jotta voit tehdä mukautettuja muutoksia ympäristöösi, koska tämä estää yhdistämisen tarpeen tulevat päivitykset".

Hakemisto /etc/profile.d/ – tallentaa komentotulkkikomentosarjat, joita käytetään mukautettujen muutosten tekemiseen ympäristöösi:

cd /etc/profile.d/
ls  -l 

/etc/bashrc- tai /etc/bash.bashrc-tiedosto – sisältää järjestelmänlaajuisia toimintoja ja aliaksia, mukaan lukien muut kokoonpanot, jotka koskevat kaikkia järjestelmän käyttäjiä.

Jos järjestelmässäsi on useita komentotulkkityyppejä, on hyvä idea laittaa bash-kohtaiset määritykset 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 määritykset 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 määritykset. Voit asettaa mukautetun PATH-ympäristömuuttujan tässä alla olevan kuvakaappauksen mukaisesti:

cat ~/.bash_profile

~/.bashrc-tiedosto – tämä tiedosto tallentaa käyttäjäkohtaisia aliaksia ja toimintoja.

cat ~/.bashrc

~/.bash_login-tiedosto – se sisältää tietyt määritykset, jotka yleensä suoritetaan vain, kun kirjaudut järjestelmään. Kun ~/.bash_profile puuttuu, bash lukee tämän tiedoston.

~/.profile-tiedosto – tämä tiedosto luetaan ilman ~/.bash_profile- ja ~/.bash_login-tiedostoja. se voi tallentaa samat kokoonpanot, jotka ovat myös muiden järjestelmän kuorien käytettävissä. Koska olemme puhuneet täällä pääasiassa bashista, huomaa, että muut kuoret eivät ehkä ymmärrä bash-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ää komentohistoriaa, jotka käyttäjä on antanut 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ä shellin käynnistämiseen, mutta se tallentaa käyttäjäkohtaiset ohjeet uloskirjautumista varten. Se luetaan ja suoritetaan, kun käyttäjä poistuu interaktiivisesta kirjautumiskuoresta.

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

cat bash_logout 

Saat lisätietoa tutustumalla näiden komentotulkkien alustustiedostojen sisältöön eri Linux-distroissa ja lukemalla myös bash-man-sivun:

Tässä kaikki tältä erää! Tässä artikkelissa selitimme shell-käynnistys-/alustustiedostoja Linuxissa. Käytä alla olevaa kommenttilomaketta kirjoittaaksesi takaisin meille.