„Linux“ apvalkalo inicijavimo failų ir naudotojų profilių supratimas


„Linux“ yra kelių vartotojų, laiko dalijimosi sistema, reiškianti, kad daugiau nei vienas vartotojas gali prisijungti ir naudoti sistemą. O sistemos administratoriams tenka užduotis valdyti įvairius aspektus, kaip skirtingi vartotojai gali valdyti sistemą, diegdami/atnaujindami/pašalindami programinę įrangą, programas, kurias jie gali paleisti, failus, kuriuos jie gali peržiūrėti/redaguoti ir pan.

„Linux“ taip pat leidžia kurti arba prižiūrėti vartotojų aplinką dviem pagrindiniais būdais: naudojant visos sistemos (pasaulinę) ir vartotojui būdingas (asmenines) konfigūracijas. Paprastai pagrindinis darbo su Linux sistema metodas yra apvalkalas, o apvalkalas sukuria aplinką, priklausomai nuo tam tikrų failų, kuriuos jis nuskaito inicijuojant po sėkmingo vartotojo prisijungimo.

Siūlomas skaitymas: Kaip nustatyti aplinkos kintamuosius sistemoje Linux

Šiame straipsnyje paaiškinsime apvalkalo inicijavimo failus, susijusius su vartotojo profiliais vietiniam naudotojų valdymui sistemoje „Linux“. Informuosime, kur laikyti pasirinktines apvalkalo funkcijas, slapyvardžius, kintamuosius ir paleisties programas.

Svarbu: šiame straipsnyje mes sutelksime dėmesį į bash, su sh suderinamą apvalkalą, kuris yra populiariausias/naudojamas apvalkalas Linux sistemose.

Jei naudojate kitą apvalkalo (zsh, ash, fish ir kt.) programą, perskaitykite jos dokumentaciją, kad sužinotumėte daugiau apie kai kuriuos susijusius failus, apie kuriuos čia kalbėsime.

Shell inicijavimas Linux

Kai iškviečiamas apvalkalas, yra tam tikri inicijavimo/paleisties failai, kuriuos jis nuskaito, kurie padeda nustatyti aplinką pačiam apvalkalui ir sistemos vartotojui; tai yra iš anksto nustatytos (ir pritaikytos) funkcijos, kintamieji, slapyvardžiai ir pan.

Yra dviejų kategorijų inicijavimo failai, kuriuos skaito apvalkalas:

  • sistemos paleisties failai – juose yra visuotinės konfigūracijos, taikomos visiems sistemos naudotojams ir paprastai yra kataloge /etc. Jie apima: /etc/profiles ir /etc/bashrc arba /etc/bash.bashrc.
  • Vartotojo paleisties failai – tai saugomos konfigūracijos, taikomos vienam sistemos vartotojui ir paprastai yra naudotojo pagrindiniame kataloge kaip taškiniai failai. Jie gali nepaisyti visos sistemos konfigūracijų. Jie apima: .profiles, .bash_profile, .bashrc ir .bash_login.

Vėlgi, apvalkalą galima iškviesti trimis galimais režimais:

1. Interaktyvus prisijungimo apvalkalas

Apvalkalas iškviestas, kai vartotojas sėkmingai prisijungia prie sistemos, naudodamas /bin/login, perskaitęs kredencialus, saugomus /etc/passwd faile.

Kai apvalkalas paleidžiamas kaip interaktyvus prisijungimo apvalkalas, jis nuskaito /etc/profile ir konkretaus vartotojo atitikmenį ~/.bash_profile.

2. Interaktyvus neprisijungimo apvalkalas

Apvalkalas paleidžiamas komandų eilutėje naudojant apvalkalo programą, pvz., $/bin/bash arba $/bin/zsh. Jį taip pat galima paleisti paleidus komandą /bin/su.

Be to, interaktyvus neprisijungimo apvalkalas taip pat gali būti iškviestas naudojant terminalo programą, pvz., konsole, terminatorių arba xterm iš grafinės aplinkos.

Kai apvalkalas paleidžiamas šioje būsenoje, jis nukopijuoja pirminio apvalkalo aplinką ir nuskaito konkretaus vartotojo failą ~/.bashrc, kad gautų papildomų paleisties konfigūravimo instrukcijų.

su
ls -la

3. Neinteraktyvus apvalkalas

Apvalkalas iškviečiamas, kai vykdomas apvalkalo scenarijus. Šiuo režimu jis apdoroja scenarijų (apvalkalo arba bendrųjų sistemos komandų/funkcijų rinkinį) ir nereikalauja vartotojo įvesties tarp komandų, nebent kitaip. Jis veikia naudodamas aplinką, paveldėtą iš pirminio apvalkalo.

Suprasti visos sistemos apvalkalo paleisties failus

Šiame skyriuje daugiau dėmesio skirsime apvalkalo paleisties failams, kuriuose saugomos visų sistemos vartotojų konfigūracijos, įskaitant:

Failas /etc/profile – jame saugomos visos sistemos aplinkos konfigūracijos ir prisijungimo sąrankos paleisties programos. Į šį failą turėtų būti įtrauktos visos konfigūracijos, kurias norite taikyti visų sistemos vartotojų aplinkoms.

Pavyzdžiui, čia galite nustatyti pasaulinį PATH aplinkos kintamąjį.

cat /etc/profile

Pastaba: tam tikrose sistemose, pvz., RHEL/CentOS 7, gausite tokius įspėjimus kaip „Nerekomenduojama keisti šio failo, nebent žinok ką darai. Daug geriau sukurti tinkintą .sh apvalkalo scenarijų /etc/profile.d/, kad galėtumėte atlikti tinkintus aplinkos pakeitimus, nes taip nereikės sujungti būsimi atnaujinimai“.

Kataloge /etc/profile.d/ saugomi apvalkalo scenarijai, naudojami tinkintam aplinkos pakeitimui atlikti:

cd /etc/profile.d/
ls  -l 

Failas /etc/bashrc arba /etc/bash.bashrc – yra visos sistemos funkcijos ir slapyvardžiai, įskaitant kitas konfigūracijas, kurios taikomos visiems sistemos vartotojams.

Jei jūsų sistemoje yra kelių tipų apvalkalai, į šį failą verta įtraukti konkrečias bash konfigūracijas.

cat /etc/bashrc

Suprasti vartotojo specifinius apvalkalo paleisties failus

Toliau paaiškinsime daugiau apie vartotojui būdingus apvalkalo (bash) paleisties taškų failus, kuriuose saugomos konkretaus vartotojo konfigūracijos sistemoje, jie yra vartotojo namų kataloge ir apima:

ls -la

Failas ~/.bash_profile – jame saugomos konkrečios vartotojo aplinkos ir paleisties programų konfigūracijos. Čia galite nustatyti pasirinktinį PATH aplinkos kintamąjį, kaip parodyta toliau esančioje ekrano kopijoje:

cat ~/.bash_profile

Failas ~/.bashrc – šiame faile saugomi specifiniai vartotojo slapyvardžiai ir funkcijos.

cat ~/.bashrc

Failas ~/.bash_login – jame yra konkrečios konfigūracijos, kurios paprastai vykdomos tik prisijungus prie sistemos. Kai nėra ~/.bash_profile, šį failą nuskaitys bash.

Failas ~/.profile – šis failas nuskaitomas, kai nėra ~/.bash_profile ir ~/.bash_login; ji gali saugoti tas pačias konfigūracijas, kurias taip pat gali pasiekti kiti sistemos apvalkalai. Kadangi čia daugiausia kalbėjome apie bash, atkreipkite dėmesį, kad kiti apvalkalai gali nesuprasti bash sintaksės.

Toliau taip pat paaiškinsime du kitus svarbius vartotojui būdingus failus, kurie nebūtinai yra „bash“ inicijavimo failai:

Failas ~/.bash_history – bash saugo komandų, kurias vartotojas įvedė sistemoje, istoriją. Šis komandų sąrašas saugomas vartotojo namų kataloge ~/.bash_history faile.

Norėdami peržiūrėti šį sąrašą, įveskite:

history 
or 
history | less

Failas ~/.bash_logout – jis nenaudojamas apvalkalui paleisti, tačiau išsaugo specifines vartotojo nurodymus, kaip atsijungti. Jis nuskaitomas ir vykdomas, kai vartotojas išeina iš interaktyvaus prisijungimo apvalkalo.

Vienas iš praktinių pavyzdžių būtų terminalo lango išvalymas atsijungus. Tai svarbu nuotoliniams ryšiams, kuriuos uždarius langas bus švarus:

cat bash_logout 

Norėdami gauti papildomų įžvalgų, patikrinkite šių apvalkalo inicijavimo failų turinį įvairiose „Linux“ distribucijose ir taip pat perskaitykite bash man puslapį:

Tai kol kas viskas! Šiame straipsnyje paaiškinome apvalkalo paleidimo/inicijavimo failus sistemoje „Linux“. Norėdami mums parašyti, naudokite toliau pateiktą komentarų formą.