Izpratne par Shell inicializācijas failiem un lietotāju profiliem Linux


Linux ir daudzlietotāju laika koplietošanas sistēma, kas nozīmē, ka vairāk nekā viens lietotājs var pieteikties un izmantot sistēmu. Un sistēmas administratoru uzdevums ir pārvaldīt dažādus aspektus, kā dažādi lietotāji var darboties sistēmā, runājot par programmatūras, palaisto programmu, failu, kurus viņi var apskatīt/rediģēt, instalēšanu/atjaunināšanu/noņemšanu.

Linux ļauj lietotāju vidi izveidot vai uzturēt divos galvenajos veidos: izmantojot visas sistēmas (globālās) un lietotāja specifiskās (personiskās) konfigurācijas. Parasti pamata metode darbam ar Linux sistēmu ir čaula, un čaula izveido vidi atkarībā no dažiem failiem, kurus tā izlasa inicializācijas laikā pēc veiksmīgas lietotāja pieteikšanās.

Šajā rakstā mēs izskaidrosim čaulas inicializācijas failus saistībā ar lietotāju profiliem vietējai lietotāju pārvaldībai Linux. Mēs jums paziņosim, kur glabāt pielāgotās čaulas funkcijas, aizstājvārdus, mainīgos, kā arī startēšanas programmas.

Svarīgi: Šajā rakstā mēs pievērsīsimies bash, ar sh saderīgu apvalku, kas tur ir vispopulārākā/izmantotākā čaula Linux sistēmās.

Ja izmantojat citu apvalka (zsh, ash, fish utt.) Programmu, izlasiet tās dokumentāciju, lai uzzinātu vairāk par dažiem saistītajiem failiem, par kuriem mēs šeit runāsim.

Shell inicializēšana Linux

Kad tiek izsaukta čaula, ir noteikti inicializācijas/startēšanas faili, kurus tā nolasa, kas palīdz iestatīt vidi pašam čaulai un sistēmas lietotājam; tas ir iepriekš definētas (un pielāgotas) funkcijas, mainīgie, aizstājvārdi un tā tālāk.

Apvalks nolasa divas inicializācijas failu kategorijas:

  • visas sistēmas startēšanas faili - tēzes satur globālas konfigurācijas, kas attiecas uz visiem sistēmas lietotājiem un parasti atrodas direktorijā/etc. Tie ietver:/etc/profiles un/etc/bashrc vai /etc/bash.bashrc.
  • lietotāja specifiski startēšanas faili - šīs veikala konfigurācijas, kas attiecas uz vienu sistēmas lietotāju un parasti atrodas lietotāju mājas direktorijā kā punktu faili. Viņi var ignorēt visas sistēmas konfigurācijas. Tie ietver: .profiles, .bash_profile, .bashrc un .bash_login.

Atkal čaulu var izmantot trīs iespējamos režīmos:

Apvalks tiek izsaukts pēc tam, kad lietotājs ir veiksmīgi pieteicies sistēmā, izmantojot/bin/login, pēc tam, kad ir izlasījis akreditācijas datus, kas saglabāti failā/etc/passwd.

Kad čaula tiek palaista kā interaktīva pieteikšanās čaula, tā nolasa profilu/etc/profile un tā lietotāja specifisko ekvivalentu ~/.bash_profile.

Apvalks tiek palaists komandrindā, izmantojot čaulas programmu, piemēram, $/bin/bash vai $/bin/zsh. To var arī sākt, palaižot komandu/bin/su.

Interaktīvu bez pieteikšanās čaulu grafiskajā vidē var izsaukt arī ar tādu termināla programmu kā konsole, xterm.

Kad čaula tiek palaista šajā stāvoklī, tā nokopē vecākā čaulas vidi un izlasa lietotāja specifisko failu ~/.bashrc, lai iegūtu papildu startēšanas konfigurācijas instrukcijas.

$ su
# ls -la

Apvalks tiek izsaukts, kad darbojas čaulas skripts. Šajā režīmā tas apstrādā skriptu (čaulas vai vispārīgas sistēmas komandu/funkciju kopu), un starp komandām nav nepieciešama lietotāja ievade, ja vien nav norādīts citādi. Tas darbojas, izmantojot no vecākā čaulas mantoto vidi.

Izpratne par visas sistēmas Shell starta failiem

Šajā sadaļā mēs vairāk apgaismosim čaulas starta failus, kas glabā konfigurācijas visiem sistēmas lietotājiem, un tie ietver:

/ Etc/profile fails - tajā tiek saglabātas visas sistēmas konfigurācijas un startēšanas programmas pieteikšanās iestatīšanai. Šajā failā jāpievieno visas konfigurācijas, kuras vēlaties lietot visām sistēmas lietotāju vidēm.

Piemēram, šeit varat iestatīt globālo PATH vides mainīgo.

# cat /etc/profile

Piezīme. Dažās sistēmās, piemēram, RHEL/CentOS 7, jūs saņemsit šādus brīdinājumus: “Nav ieteicams mainīt šo failu, ja vien nezināt, ko darāt. Daudz labāk ir izveidot pielāgotu .sh apvalka skriptu mapē /etc/profile.d/, lai veiktu pielāgotas izmaiņas savā vidē, jo tas novērsīs nepieciešamību apvienot turpmākajos atjauninājumos ”.

Direktorijā /etc/profile.d/ tiek glabāti čaulas skripti, ko izmanto, lai veiktu pielāgotas izmaiņas jūsu vidē:

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

/ Etc/bashrc vai /etc/bash.bashrc fails - satur visas sistēmas funkcijas un aizstājvārdus, ieskaitot citas konfigurācijas, kas attiecas uz visiem sistēmas lietotājiem.

Ja jūsu sistēmai ir vairāki čaulu veidi, ieteicams šajā failā ievietot specifiskas bash konfigurācijas.

# cat /etc/bashrc

Izpratne par lietotāju specifiskiem Shell starta failiem

Tālāk mēs paskaidrosim vairāk par lietotājam specifiskiem čaulas (bash) starta punktu failiem, kas sistēmā glabā konkrēta lietotāja konfigurācijas, tie atrodas lietotāja mājas direktorijā un ietver:

# ls -la

~/.Bash_profile fails - tas saglabā lietotāja specifiskas vides un startēšanas programmu konfigurācijas. Šeit varat iestatīt pielāgoto PATH vides mainīgo, kā parādīts zemāk esošajā ekrānuzņēmumā:

# cat ~/.bash_profile

~/.Bashrc fails - šis fails saglabā lietotāja specifiskos aizstājvārdus un funkcijas.

# cat ~/.bashrc

~/.Bash_login fails - tajā ir noteiktas konfigurācijas, kuras parasti tiek izpildītas tikai tad, kad piesakāties sistēmā. Kad ~/.bash_profile nav, šo failu lasīs bash.

~/.Profile fails - šis fails tiek lasīts, ja nav ~/.bash_profile un ~/.bash_login; tas var saglabāt tās pašas konfigurācijas, kurām var piekļūt arī citi sistēmas čaulas. Tā kā šeit mēs galvenokārt runājām par bash, ņemiet vērā, ka citi apvalki var nesaprast bash sintaksi.

Tālāk mēs arī izskaidrosim divus citus svarīgus lietotājam specifiskus failus, kas ne vienmēr ir Bash inicializācijas faili:

~/.Bash_history fails - bash uztur to komandu vēsturi, kuras sistēmā ievadījis lietotājs. Šis komandu saraksts tiek glabāts lietotāja mājas direktorijā failā ~/.bash_history.

Lai skatītu šo sarakstu, ierakstiet:

$ history 
or 
$ history | less

~/.Bash_logout fails - tas netiek izmantots čaulas startēšanai, taču tajā tiek saglabāti lietotāja norādījumi par atteikšanos. Tas tiek nolasīts un izpildīts, kad lietotājs iziet no interaktīvās pieteikšanās čaulas.

Viens praktisks piemērs būtu, notīrot termināla logu pēc atteikšanās. Tas ir svarīgi attāliem savienojumiem, kas pēc to aizvēršanas atstās tīru logu:

# cat bash_logout 

Lai iegūtu papildinformāciju, pārbaudiet šo čaulas inicializācijas failu saturu dažādos Linux distros un izlasiet arī bash man lapu:

Tas pagaidām ir viss! Šajā rakstā mēs izskaidrojām čaulas startēšanas/inicializācijas failus Linux. Izmantojiet zemāk esošo komentāru veidlapu, lai rakstītu mums atpakaļ.