Fehim tal-Fajls tal-Inizjalizzazzjoni tal-Shell u l-Profili tal-Utenti fil-Linux


Linux hija sistema ta' qsim ta' ħin għal ħafna utenti, li timplika li aktar minn utent wieħed jista' jidħol u juża sistema. U l-amministraturi tas-sistema għandhom il-kompitu li jimmaniġġjaw diversi aspetti ta 'kif utenti differenti jistgħu joperaw sistema f'termini ta' installazzjoni/aġġornament/tneħħija ta 'softwer, programmi li jistgħu jmexxu, fajls li jistgħu jaraw/jeditjaw eċċ.

Linux jippermetti wkoll li jinħolqu jew jinżammu l-ambjenti tal-utenti b'żewġ modi ewlenin: bl-użu ta 'konfigurazzjonijiet tas-sistema kollha (globali) u speċifiċi għall-utent (personali). Normalment, il-metodu bażiku ta 'ħidma ma' sistema Linux huwa l-qoxra, u l-qoxra toħloq ambjent skont ċerti fajls li jaqra waqt l-inizjalizzazzjoni tagħha wara login tal-utent b'suċċess.

F'dan l-artikolu, se nispjegaw fajls ta 'inizjalizzazzjoni tal-qoxra fir-rigward tal-profili tal-utent għall-ġestjoni tal-utent lokali fil-Linux. Aħna ser tavżak fejn iżżomm funzjonijiet tal-qoxra tad-dwana, psewdonimi, varjabbli kif ukoll programmi tal-istartjar.

Importanti: Għall-iskop ta 'dan l-artikolu, aħna se niffukaw fuq bash, qoxra kompatibbli sh li hija l-aktar qoxra popolari/użata fuq sistemi Linux hemmhekk.

Jekk qed tuża programm tal-qoxra differenti (zsh, irmied, ħut eċċ..), aqra d-dokumentazzjoni tiegħu biex issir taf aktar dwar xi wħud mill-fajls relatati li se nitkellmu dwarhom hawn.

Inizjalizzazzjoni tal-qoxra fil-Linux

Meta l-qoxra tiġi invokata, hemm ċerti fajls ta 'inizjalizzazzjoni/istartjar li jaqra li jgħinu biex jitwaqqaf ambjent għall-qoxra nnifisha u l-utent tas-sistema; li huwa predefinit (u personalizzat) funzjonijiet, varjabbli, psewdonimi u l-bqija.

Hemm żewġ kategoriji ta 'fajls ta' inizjalizzazzjoni li jinqraw mill-qoxra:

  • fajls tal-istartjar fis-sistema kollha – it-teżijiet fihom konfigurazzjonijiet globali li japplikaw għall-utenti kollha fis-sistema, u normalment jinsabu fid-direttorju /etc. Dawn jinkludu: /etc/profiles u /etc/bashrc jew /etc/bash.bashrc.
  • fajls tal-istartjar speċifiċi għall-utent – dawn il-konfigurazzjonijiet tal-maħżen li japplikaw għal utent wieħed fis-sistema u li normalment jinsabu fid-direttorju tad-dar tal-utenti bħala fajls b'dot. Jistgħu jegħlbu l-konfigurazzjonijiet tas-sistema kollha. Dawn jinkludu: .profiles, .bash_profile, .bashrc u .bash_login.

Għal darb'oħra, il-qoxra tista 'tiġi invokata fi tliet modi possibbli:

Il-qoxra tiġi invokata wara li utent jidħol b'suċċess fis-sistema, billi juża /bin/login, wara li jaqra l-kredenzjali maħżuna fil-fajl /etc/passwd.

Meta l-qoxra tinbeda bħala qoxra tal-login interattiva, taqra l-/etc/profile u l-ekwivalenti speċifiku għall-utent tiegħu ~/.bash_profile.

Il-qoxra tinbeda fil-linja tal-kmand billi tuża programm tal-qoxra per eżempju $/bin/bash jew $/bin/zsh. Tista' wkoll tinbeda billi tħaddem il-kmand /bin/su.

Barra minn hekk, shell interattiv mhux tal-login jista' wkoll jiġi invokat ma' programm terminali bħal konsole, xterm minn ġewwa ambjent grafiku.

Meta l-qoxra tinbeda f'dan l-istat, tikkopja l-ambjent tal-qoxra ġenitur, u taqra l-fajl ~/.bashrc speċifiku għall-utent għal struzzjonijiet addizzjonali tal-konfigurazzjoni tal-istartjar.

$ su
# ls -la

Il-qoxra tiġi invokata meta tkun qed taħdem script tal-qoxra. F'din il-modalità, qed tipproċessa skript (sett ta 'kmandi/funzjonijiet ta' qoxra jew sistema ġenerika) u ma teħtieġx input tal-utent bejn il-kmandi sakemm ma jkunx mod ieħor. Topera bl-użu tal-ambjent li jintiret mill-qoxra ġenitur.

Fehim tal-Fajls tal-Istartjar tal-Shell mas-Sistema kollha

F'din it-taqsima, se nagħtu aktar dawl fuq fajls tal-istartjar tal-qoxra li jaħżnu konfigurazzjonijiet għall-utenti kollha fis-sistema u dawn jinkludu:

Il-fajl /etc/profile – jaħżen il-konfigurazzjonijiet tal-ambjent tas-sistema kollha u l-programmi tal-istartjar għas-setup tal-login. Il-konfigurazzjonijiet kollha li trid tapplika għall-ambjenti kollha tal-utenti tas-sistema għandhom jiżdiedu f'dan il-fajl.

Pereżempju, tista' tissettja l-varjabbli ambjentali globali PATH tiegħek hawn.

# cat /etc/profile

Nota: F'ċerti sistemi bħal RHEL/CentOS 7, ikollok twissijiet bħal \Mhux rakkomandat li tibdel dan il-fajl sakemm ma tkunx taf x'qed tagħmel. Huwa ħafna aħjar li toħloq script shell .sh personalizzat f' /etc/ profile.d/ biex tagħmel bidliet personalizzati fl-ambjent tiegħek, peress li dan jipprevjeni l-ħtieġa ta’ għaqda f’aġġornamenti futuri”.

Id-direttorju /etc/profile.d/ – jaħżen skripts tal-qoxra użati biex isiru bidliet personalizzati fl-ambjent tiegħek:

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

Il-fajl /etc/bashrc jew /etc/bash.bashrc – fih funzjonijiet u psewdonimi tas-sistema kollha inklużi konfigurazzjonijiet oħra li japplikaw għall-utenti kollha tas-sistema.

Jekk is-sistema tiegħek għandha tipi multipli ta 'qxur, hija idea tajba li tpoġġi konfigurazzjonijiet speċifiċi għall-bash f'dan il-fajl.

# cat /etc/bashrc

Nifhmu Fajls tal-Istartjar tal-Shell speċifiċi għall-Utent

Sussegwentement, se nispjegaw aktar dwar fajls tal-punti tal-istartjar tal-shell (bash) speċifiċi għall-utent, li jaħżnu konfigurazzjonijiet għal utent partikolari fis-sistema, jinsabu fid-direttorju tad-dar tal-utent u jinkludu:

# ls -la

Il-fajl ~/.bash_profile - dan jaħżen ambjent speċifiku għall-utent u konfigurazzjonijiet tal-programmi tal-istartjar. Tista' tissettja l-varjabbli tal-ambjent PATH personalizzat tiegħek hawn, kif muri fil-screenshot hawn taħt:

# cat ~/.bash_profile

Il-fajl ~/.bashrc - dan il-fajl jaħżen psewdonimi u funzjonijiet speċifiċi għall-utent.

# cat ~/.bashrc

Il-fajl ~/.bash_login - fih konfigurazzjonijiet speċifiċi li normalment jiġu eżegwiti biss meta tidħol fis-sistema. Meta l-~/.bash_profile ikun assenti, dan il-fajl jinqara minn bash.

Il-fajl ~/.profile – dan il-fajl jinqara fin-nuqqas ta '~/.bash_profile u ~/.bash_login; jista 'jaħżen l-istess konfigurazzjonijiet, li huma jistgħu wkoll ikunu aċċessibbli minn qxur oħra fuq is-sistema. Minħabba li tkellimna prinċipalment dwar bash hawn, ħu nota li qxur oħra jistgħu ma jifhmux is-sintassi bash.

Sussegwentement, se nispjegaw ukoll żewġ fajls importanti oħra speċifiċi għall-utent li mhux neċessarjament huma fajls ta 'inizjalizzazzjoni bash:

Il-fajl ~/.bash_history – bash iżomm storja ta' kmandi li ddaħħlu minn utent fis-sistema. Din il-lista ta 'kmandi tinżamm fid-direttorju tad-dar ta' utent fil-fajl ~/.bash_history.

Biex tara din il-lista, ittajpja:

$ history 
or 
$ history | less

Il-fajl ~/.bash_logout - mhuwiex użat għall-istartjar tal-qoxra, iżda jaħżen istruzzjonijiet speċifiċi għall-utent għall-proċedura tal-logout. Jinqara u jiġi esegwit meta utent joħroġ minn shell tal-login interattiv.

Eżempju prattiku wieħed ikun billi tnaddaf it-tieqa tat-terminal mal-logout. Dan huwa importanti għal konnessjonijiet remoti, li se jħallu tieqa nadifa wara li tagħlaqhom:

# cat bash_logout 

Għal għarfien addizzjonali, iċċekkja l-kontenut ta’ dawn il-fajls tal-inizjalizzazzjoni tal-qoxra fuq diversi distribuzzjonijiet Linux u aqra wkoll il-paġna man bash:

Dak kollu għalissa! F'dan l-artikolu, spjegajna fajls tal-istartjar/inizjalizzazzjoni tal-qoxra fil-Linux. Uża l-formola tal-kummenti hawn taħt biex tiktebna lura.