Razumijevanje datoteka za inicijalizaciju ljuske i korisničkih profila u Linuxu


Linux je višekorisnički sistem za podjelu vremena, što podrazumijeva da se više od jednog korisnika može prijaviti i koristiti sistem. A administratori sistema imaju zadatak da upravljaju različitim aspektima kako različiti korisnici mogu upravljati sistemom u smislu instaliranja/ažuriranja/uklanjanja softvera, programa koje mogu pokrenuti, datoteka koje mogu pregledavati/uređivati i tako dalje.

Linux također omogućava kreiranje ili održavanje korisničkih okruženja na dva glavna načina: korištenjem sistemskih (globalnih) i korisničkih (ličnih) konfiguracija. Normalno, osnovni metod rada sa Linux sistemom je ljuska, a ljuska kreira okruženje u zavisnosti od određenih fajlova koje čita tokom inicijalizacije nakon uspešne prijave korisnika.

Preporučeno čitanje: Kako postaviti varijable okruženja u Linuxu

U ovom članku ćemo objasniti datoteke inicijalizacije ljuske u odnosu na korisničke profile za lokalno upravljanje korisnicima u Linuxu. Obavijestit ćemo vas gdje da čuvate prilagođene funkcije ljuske, pseudonime, varijable kao i programe za pokretanje.

Važno: Za potrebe ovog članka, fokusirat ćemo se na bash, sh kompatibilnu školjku koja je najpopularnija/korišćena školjka na Linux sistemima.

Ako koristite drugi shell (zsh, ash, fish itd.) program, pročitajte njegovu dokumentaciju kako biste saznali više o nekim od povezanih datoteka o kojima ćemo ovdje govoriti.

Inicijalizacija ljuske u Linuxu

Kada se ljuska pozove, postoje određene datoteke za inicijalizaciju/pokretanje koje čita koje pomažu u postavljanju okruženja za samu ljusku i korisnika sistema; to su unaprijed definirane (i prilagođene) funkcije, varijable, aliasi i tako dalje.

Postoje dvije kategorije datoteka za inicijalizaciju koje čita ljuska:

  • datoteke za pokretanje za cijeli sistem – teze sadrže globalne konfiguracije koje se primjenjuju na sve korisnike na sistemu, a obično se nalaze u /etc direktoriju. Oni uključuju: /etc/profiles i /etc/bashrc ili /etc/bash.bashrc.
  • datoteke za pokretanje specifične za korisnika – ove pohranjuju konfiguracije koje se primjenjuju na jednog korisnika na sistemu i obično se nalaze u korisničkom početnom direktoriju kao dot datoteke. Oni mogu nadjačati sistemske konfiguracije. Oni uključuju: .profiles, .bash_profile, .bashrc i .bash_login.

Opet, ljuska se može pozvati na tri moguća načina:

1. Interaktivna školjka za prijavu

Shell se poziva nakon što se korisnik uspješno prijavi na sistem, koristeći /bin/login, nakon čitanja vjerodajnica pohranjenih u datoteci /etc/passwd.

Kada se ljuska pokrene kao interaktivna ljuska za prijavu, ona čita /etc/profile i njegov ekvivalent za korisnika ~/.bash_profile.

2. Interaktivna školjka bez prijave

Shell se pokreće u komandnoj liniji koristeći shell program, na primjer $/bin/bash ili $/bin/zsh. Može se pokrenuti i pokretanjem naredbe /bin/su.

Dodatno, interaktivna ljuska bez prijave može se pozvati i sa terminalskim programom kao što je konsole, terminator ili xterm iz grafičkog okruženja.

Kada se ljuska pokrene u ovom stanju, ona kopira okruženje roditeljske ljuske i čita datoteku ~/.bashrc specifičnu za korisnika za dodatne upute za konfiguraciju pokretanja.

su
ls -la

3. Neinteraktivna školjka

Shell se poziva kada se izvodi shell skripta. U ovom modu, on obrađuje skriptu (skup ljuske ili generičkih sistemskih naredbi/funkcija) i ne zahtijeva korisnički unos između naredbi osim ako nije drugačije. Radi koristeći okruženje naslijeđeno od roditeljske ljuske.

Razumijevanje datoteka za pokretanje shell za cijeli sistem

U ovom ćemo odjeljku zasjeniti više svjetla na datoteke za pokretanje ljuske koje pohranjuju konfiguracije za sve korisnike na sistemu, a one uključuju:

Datoteka /etc/profile – pohranjuje konfiguracije okruženja za cijeli sistem i programe za pokretanje za podešavanje prijave. Sve konfiguracije koje želite da primenite na okruženja svih korisnika sistema treba da se dodaju u ovu datoteku.

Na primjer, ovdje možete postaviti svoju globalnu PATH varijablu okruženja.

cat /etc/profile

Napomena: U određenim sistemima kao što je RHEL/CentOS 7, dobit ćete upozorenja poput “Ne preporučuje se mijenjati ovaj fajl osim ako ne znaš šta radiš. Mnogo je bolje kreirati prilagođenu .sh shell skriptu u /etc/profile.d/ da napravite prilagođene promjene u svom okruženju, jer će to spriječiti potrebu za spajanjem u buduća ažuriranja”.

/etc/profile.d/ direktorij – pohranjuje shell skripte koje se koriste za unošenje prilagođenih promjena u vašem okruženju:

cd /etc/profile.d/
ls  -l 

Datoteka /etc/bashrc ili /etc/bash.bashrc – sadrži funkcije i pseudonime za cijeli sistem, uključujući druge konfiguracije koje se primjenjuju na sve korisnike sistema.

Ako vaš sistem ima više tipova ljuski, dobra je ideja staviti konfiguracije specifične za bash u ovu datoteku.

cat /etc/bashrc

Razumijevanje korisnički-specifičnih Shell Startup datoteka

Zatim ćemo objasniti više u vezi sa korisničkim specifičnim datotekama za pokretanje ljuske (bash), koje pohranjuju konfiguracije za određenog korisnika na sistemu, nalaze se u korisničkom početnom direktoriju i uključuju:

ls -la

Datoteka ~/.bash_profile – ona pohranjuje specifično okruženje i konfiguracije programa za pokretanje. Ovdje možete postaviti svoju prilagođenu varijablu okruženja PATH, kao što je prikazano na slici ispod:

cat ~/.bash_profile

Datoteka ~/.bashrc – ova datoteka pohranjuje korisničke pseudonime i funkcije.

cat ~/.bashrc

Datoteka ~/.bash_login – sadrži specifične konfiguracije koje se obično izvršavaju samo kada se prijavite na sistem. Kada je ~/.bash_profile odsutan, bash će pročitati ovaj fajl.

Datoteka ~/.profile – ova datoteka se čita u odsustvu ~/.bash_profile i ~/.bash_login; može pohraniti iste konfiguracije, koje također mogu biti dostupne drugim ljuskama na sistemu. Budući da smo ovdje uglavnom govorili o bash-u, imajte na umu da druge ljuske možda neće razumjeti bash sintaksu.

Zatim ćemo također objasniti dvije druge važne datoteke specifične za korisnike koje nisu nužno bash inicijalizacijske datoteke:

Datoteka ~/.bash_history – bash održava istoriju komandi koje je korisnik uneo na sistemu. Ova lista naredbi se čuva u korisničkom početnom direktoriju u datoteci ~/.bash_history.

Da vidite ovu listu, upišite:

history 
or 
history | less

Datoteka ~/.bash_logout – ne koristi se za pokretanje ljuske, ali pohranjuje korisnička uputstva za proceduru odjave. Čita se i izvršava kada korisnik izađe iz interaktivne ljuske za prijavu.

Jedan praktičan primjer bi bio brisanje prozora terminala nakon odjave. Ovo je važno za udaljene veze, koje će ostaviti čist prozor nakon zatvaranja:

cat bash_logout 

Za dodatne uvide, provjerite sadržaj ovih datoteka za inicijalizaciju ljuske na različitim Linux distribucijama i također pročitajte bash man stranicu:

To je sve za sada! U ovom članku smo objasnili datoteke za pokretanje/inicijalizaciju ljuske u Linuxu. Koristite formu za komentare ispod da nam pišete.