Linux este un sistem multi-utilizator, de partajare a timpului, ceea ce implică faptul că mai mult de un utilizator se poate conecta și utiliza un sistem. Și administratorii de sistem au sarcina de a gestiona diferite aspecte ale modului în care diferiți utilizatori pot opera un sistem în ceea ce privește instalarea / actualizarea / eliminarea software-ului, programe pe care le pot rula, fișiere pe care le pot vizualiza / edita și așa mai departe.
Linux permite, de asemenea, crearea sau întreținerea mediilor utilizatorilor în două moduri majore: folosind configurații la nivel de sistem (global) și specifice utilizatorului (personal). În mod normal, metoda de bază de lucru cu un sistem Linux este shell-ul, iar shell-ul creează un mediu în funcție de anumite fișiere pe care le citește în timpul inițializării după un utilizator de succes Autentificare.
În acest articol, vom explica fișierele de inițializare a shell-ului în legătură cu profilurile utilizatorilor pentru gestionarea locală a utilizatorilor în Linux. Vă vom anunța unde să păstrați funcțiile shell personalizate, pseudonimele, variabilele, precum și programele de pornire.
Important: În scopul acestui articol, ne vom concentra asupra bash, A SH shell compatibil care este cel mai popular / folosit shell pe sistemele Linux acolo.
Dacă utilizați un alt program shell (zsh, frasin, pește etc.), citiți documentația sa pentru a afla mai multe despre unele dintre fișierele aferente despre care vom vorbi aici.
Când shell-ul este invocat, există anumite fișiere de inițializare / pornire pe care le citește, care vă ajută configurați un mediu pentru shell sine și utilizatorul sistemului; adică funcții, variabile, pseudonime și așa mai departe predefinite (și personalizate).
Există două categorii de fișiere de inițializare citite de shell:
Din nou, shell-ul poate fi invocat în trei moduri posibile:
Shell-ul este invocat după ce un utilizator s-a autentificat cu succes în sistem, folosind /bin/login, după ce ați citit acreditările stocate în /etc/passwd fişier.
Când shell-ul este pornit ca un shell de conectare interactiv, acesta citește /etc/profile și echivalentul său specific utilizatorului ~ / .bash_profile.
Shell-ul este pornit de la linia de comandă, de exemplu, utilizând un program shell $ / bin / bash sau $ / bin / zsh. De asemenea, poate fi pornit prin rularea fișierului /bin/su comanda.
În plus, un shell interactiv non-login poate fi, de asemenea, invocat cu un program terminal, cum ar fi konsole, terminator sau xterm din interiorul unui mediu grafic.
Când shell-ul este pornit în această stare, acesta copiază mediul shell-ului părinte și citește specificul utilizatorului ~ / .bashrc pentru instrucțiuni suplimentare de configurare la pornire.
$ su. # ls -la.
Shell-ul este invocat când rulează un script shell. În acest mod, procesează un script (set de comenzi / funcții de shell sau de sistem generice) și nu necesită introducerea de către utilizator între comenzi, cu excepția cazului în care este altfel. Funcționează utilizând mediul moștenit de la shell-ul părinte.
În această secțiune, vom umbra mai multă lumină asupra fișierelor de pornire shell care stochează configurații pentru toți utilizatorii din sistem și acestea includ:
/ etc / fișier profil - stochează configurații de mediu la nivel de sistem și programe de pornire pentru configurarea conectării. Toate configurațiile pe care doriți să le aplicați tuturor mediilor utilizatorilor de sistem ar trebui adăugate în acest fișier.
De exemplu, puteți seta aici variabila de mediu PATH globală.
# cat / etc / profile.
Notă: În anumite sisteme precum RHEL / CentOS 7veți primi avertismente precum „Nu este recomandat să modificați acest fișier decât dacă știți ce faceți. Este mult mai bine să creați un obicei .SH script shell în /etc/profile.d/ pentru a face modificări personalizate mediului dvs., deoarece acest lucru va împiedica combinarea în actualizările viitoare ”.
/etc/profile.d/ director - stochează scripturile shell utilizate pentru a face modificări personalizate mediului dvs.:
# cd /etc/profile.d/ # ls -l
/etc/bashrc sau /etc/bash.bashrc fișier - conține funcții și aliasuri la nivel de sistem, inclusiv alte configurații care se aplică tuturor utilizatorilor de sistem.
Dacă sistemul dvs. are mai multe tipuri de scoici, este o idee bună să puneți configurații specifice bash-ului în acest fișier.
# cat / etc / bashrc.
În continuare, vom explica mai multe despre fișierele de punct de pornire shell (bash) specifice utilizatorului, stocate configurații pentru un anumit utilizator din sistem, acestea sunt situate în directorul principal al unui utilizator și ele include:
# ls -la.
~ / .bash_profile fișier - acesta stochează mediul specific utilizatorului și configurațiile programelor de pornire. Puteți seta variabila de mediu PATH personalizată aici, așa cum se arată în captura de ecran de mai jos:
# cat ~ / .bash_profile.
~ / .bashrc fișier - acest fișier stochează pseudonimele și funcțiile specifice utilizatorului.
# cat ~ / .bashrc.
~ / .bash_login fișier - conține configurații specifice care sunt executate în mod normal numai când vă conectați la sistem. Cand ~ / .bash_profile este absent, acest fișier va fi citit de bash.
~ / .profil fișier - acest fișier este citit în absența ~ / .bash_profile și ~ / .bash_login; poate stoca aceleași configurații, care pot fi accesate și de alte shell-uri din sistem. Deoarece am vorbit în principal despre bash aici, rețineți că alte cochilii ar putea să nu înțeleagă sintaxa bash.
În continuare, vom explica, de asemenea, alte două fișiere importante specifice utilizatorului, care nu sunt neapărat fișiere de inițializare bash:
~ / .bash_history fișier - bash menține un istoricul comenzilor care au fost introduse de un utilizator pe sistem. Această listă de comenzi este păstrată în directorul de start al unui utilizator în ~ / .bash_history fişier.
Pentru a vizualiza această listă, tastați:
$ history sau $ history | Mai puțin.
~ / .bash_logout fișier - nu este utilizat pentru pornirea shell-ului, dar stochează instrucțiuni specifice utilizatorului pentru procedura de deconectare. Este citit și executat atunci când un utilizator iese dintr-un shell de conectare interactiv.
Un exemplu practic ar fi prin ștergerea ferestrei terminalului la deconectare. Acest lucru este important pentru conexiunile de la distanță, care vor lăsa o fereastră curată după închiderea acestora:
# cat bash_logout
Pentru informații suplimentare, verificați conținutul acestor fișiere de inițializare a shell-ului pe diferite distribuții Linux și citiți, de asemenea, pagina de manual bash:
Asta este tot pentru acum! În acest articol, am explicat fișierele de pornire / inițializare a shell-ului în Linux. Utilizați formularul de comentarii de mai jos pentru a ne scrie înapoi.