Razumevanje datotek in uporabniških profilov Shell v Linuxu


Linux je več uporabniški sistem s časovno porazdelitvijo, kar pomeni, da se lahko več uporabnikov prijavi in uporablja sistem. Sistemski skrbniki imajo nalogo, da upravljajo različne vidike, kako lahko različni uporabniki upravljajo sistem v smislu namestitve/posodabljanja/odstranjevanja programske opreme, programov, ki jih lahko zaženejo, datotek, ki jih lahko vidijo/urejajo itd.

Linux omogoča tudi ustvarjanje ali vzdrževanje uporabniških okolij na dva glavna načina: z uporabo celotne sistemske (globalne) in uporabniško specifične (osebne) konfiguracije. Običajno je osnovna metoda dela s sistemom Linux lupina, lupina pa ustvari okolje, odvisno od določenih datotek, ki jih prebere med inicializacijo po uspešni prijavi uporabnika.

V tem članku bomo razložili datoteke za inicializacijo lupine glede na uporabniške profile za lokalno upravljanje uporabnikov v Linuxu. Sporočili vam bomo, kje hraniti funkcije lupine po meri, vzdevke, spremenljivke in zagonske programe.

Pomembno: V tem članku se bomo osredotočili na bash, sh -združljivo lupino, ki je najbolj priljubljena/uporabljena lupina v sistemih Linux.

Če uporabljate drug program lupine (zsh, pepel, ribe itd.), Preberite njegovo dokumentacijo, če želite izvedeti več o nekaterih povezanih datotekah, o katerih bomo tukaj govorili.

Inicializacija lupine v Linuxu

Ko se lupina prikliče, se berejo nekatere inicializacijske/zagonske datoteke, ki pomagajo pri nastavitvi okolja za samo lupino in uporabnika sistema; to so vnaprej določene (in prilagojene) funkcije, spremenljivke, vzdevki itd.

Lupina bere dve kategoriji inicializacijskih datotek:

  • zagonske datoteke za celoten sistem-te naloge vsebujejo globalne konfiguracije, ki veljajo za vse uporabnike v sistemu in se običajno nahajajo v imeniku /etc. Vključujejo:/etc/profile in/etc/bashrc ali /etc/bash.bashrc.
  • zagonske datoteke, značilne za uporabnika-te konfiguracije shrambe, ki veljajo za enega uporabnika v sistemu in se običajno nahajajo v domačem imeniku uporabnikov kot datoteke s pikami. Lahko preglasijo sistemske konfiguracije. Vključujejo: .profile, .bash_profile, .bashrc in .bash_login.

Še enkrat, lupino lahko prikličete v treh možnih načinih:

Lupina se pokliče po tem, ko se uporabnik uspešno prijavi v sistem z uporabo bin/login po branju poverilnic, shranjenih v datoteki/etc/passwd.

Ko se lupina zažene kot interaktivna prijavna lupina, prebere/etc/profil in njegov uporabniško enakovreden ~/.bash_profile.

Lupina se zažene v ukazni vrstici z uporabo programa lupine, na primer $/bin/bash ali $/bin/zsh. Prav tako ga lahko zaženete z ukazom /bin /su.

Poleg tega lahko interaktivno lupino, ki se ne prijavi, pokličete tudi s terminalskim programom, kot sta konsole, xterm, iz grafičnega okolja.

Ko se lupina zažene v tem stanju, kopira okolje nadrejene lupine in prebere uporabniško specifično datoteko ~/.bashrc za dodatna navodila za konfiguracijo zagona.

$ su
# ls -la

Lupina se prikliče, ko se izvaja skript lupine. V tem načinu obdeluje skript (nabor lupinskih ali splošnih sistemskih ukazov/funkcij) in ne zahteva vnosa uporabnika med ukazi, razen če ni drugače. Deluje z uporabo okolja, podedovanega od nadrejene lupine.

Razumevanje zagonskih datotek za sistemsko školjko

V tem razdelku bomo bolj osvetlili zagonske datoteke lupine, ki shranjujejo konfiguracije za vse uporabnike sistema, mednje pa spadajo:

Datoteka /etc /profile-shranjuje sistemske konfiguracije okolja in zagonske programe za nastavitev prijave. V to datoteko je treba dodati vse konfiguracije, ki jih želite uporabiti za vsa okolja uporabnikov sistema.

Tu lahko na primer nastavite svojo globalno spremenljivko okolja PATH.

# cat /etc/profile

Opomba: V nekaterih sistemih, kot je RHEL/CentOS 7, boste dobili opozorila, kot je\"Ni priporočljivo spreminjati te datoteke, če ne veste, kaj počnete. Veliko bolje je ustvariti skript lupine .sh v/etc/ profile.d/ za spreminjanje okolja po meri, saj s tem preprečite potrebo po združevanju v prihodnjih posodobitvah ”.

Imenik /etc/profile.d/ - shranjuje skripte lupine, ki se uporabljajo za spreminjanje okolja po meri:

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

Datoteka/etc/bashrc ali /etc/bash.bashrc - vsebuje sistemske funkcije in vzdevke, vključno z drugimi konfiguracijami, ki veljajo za vse uporabnike sistema.

Če ima vaš sistem več vrst lupin, je dobro, da v to datoteko vnesete konfiguracije, specifične za bash.

# cat /etc/bashrc

Razumevanje zagonskih datotek lupine, značilnih za uporabnika

Nato bomo razložili več o uporabniško specifičnih datotekah zagonskih pik (bash), ki shranjujejo konfiguracije za določenega uporabnika v sistemu, ki se nahajajo v uporabnikovem domačem imeniku in vključujejo:

# ls -la

Datoteka ~/.bash_profile - shranjuje uporabniško specifično okolje in konfiguracije zagonskih programov. Tu lahko nastavite svojo spremenljivko okolja PATH, kot je prikazano na spodnjem posnetku zaslona:

# cat ~/.bash_profile

Datoteka ~/.bashrc - ta datoteka shrani uporabniške vzdevke in funkcije.

# cat ~/.bashrc

Datoteka ~/.bash_login - vsebuje posebne konfiguracije, ki se običajno izvajajo le, ko se prijavite v sistem. Ko ~/.bash_profile ni, bo to datoteko prebral bash.

Datoteka ~/.profile - ta datoteka se bere, če ni ~/.bash_profile in ~/.bash_login; lahko shrani enake konfiguracije, do katerih lahko dostopajo tudi druge lupine v sistemu. Ker smo tukaj govorili predvsem o bashu, upoštevajte, da druge lupine morda ne razumejo sintakse bash.

Nato bomo razložili še dve pomembni uporabniški datoteki, ki nista nujno bash datoteke za inicializacijo:

Datoteka ~/.bash_history - bash ohranja zgodovino ukazov, ki jih je uporabnik vnesel v sistem. Ta seznam ukazov je shranjen v uporabnikovem domačem imeniku v datoteki ~/.bash_history.

Če si želite ogledati ta seznam, vnesite:

$ history 
or 
$ history | less

Datoteka ~/.bash_logout - ne uporablja se za zagon lupine, ampak shranjuje navodila za postopek odjave za uporabnika. Prebere se in izvede, ko uporabnik izstopi iz interaktivne prijavne lupine.

Eden od praktičnih primerov bi bil, če počistite terminalsko okno ob odjavi. To je pomembno za oddaljene povezave, ki bodo po zaprtju pustile čisto okno:

# cat bash_logout 

Za dodatne vpoglede si oglejte vsebino teh datotek za inicializacijo lupine na različnih distribucijah Linuxa in preberite tudi na strani z navodili za bash:

To je vse za zdaj! V tem članku smo razložili datoteke zagona/inicializacije lupine v Linuxu. Uporabite spodnji obrazec za komentar, da nam pišete.