Razumijevanje datoteka inicijalizacije ljuske i korisničkih profila u Linuxu


Linux je višekorisnički sustav za dijeljenje vremena, što znači da se više korisnika može prijaviti i koristiti sustav. A administratori sustava imaju zadatak upravljati raznim aspektima kako različiti korisnici mogu upravljati sustavom u smislu instaliranja/ažuriranja/uklanjanja softvera, programa koje mogu pokretati, datoteka koje mogu pregledavati/uređivati i tako dalje.

Linux također omogućuje stvaranje i održavanje korisničkih okruženja na dva glavna načina: korištenjem općenitih sistemskih (globalnih) i korisničkih (osobnih) konfiguracija. Obično je osnovna metoda rada s Linux sustavom ljuska, a ljuska stvara okruženje ovisno o određenim datotekama koje čita tijekom inicijalizacije nakon uspješne prijave korisnika.

U ovom ćemo članku objasniti datoteke inicijalizacije ljuske u odnosu na korisničke profile za lokalno upravljanje korisnicima u Linuxu. Obavijestit ćemo vas gdje se mogu čuvati prilagođene funkcije ljuske, aliasi, varijable kao i startup programi.

Važno: U svrhu ovog članka usredotočit ćemo se na bash, sh kompatibilnu ljusku koja je najpopularnija/korištena ljuska na Linux sustavima.

Ako koristite drugi program ljuske (zsh, pepeo, riba itd.), Pročitajte njegovu dokumentaciju da biste saznali više o nekim povezanim datotekama o kojima ćemo ovdje razgovarati.

Inicijalizacija ljuske u Linuxu

Kada se ljuska pozove, postoje određene datoteke za inicijalizaciju/pokretanje koje čita, a koje pomažu u postavljanju okruženja za samu ljusku i korisnika sustava; 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 sustava - teze sadrže globalne konfiguracije koje se primjenjuju na sve korisnike u sustavu i obično se nalaze u direktoriju/etc. Uključuju:/etc/profile i/etc/bashrc ili /etc/bash.bashrc.
  • korisničke datoteke za pokretanje - ove pohranjuju konfiguracije koje se primjenjuju na jednog korisnika u sustavu i obično se nalaze u početnom direktoriju korisnika kao datoteke s točkama. Mogu nadjačati konfiguracije za cijeli sustav. Uključuju: .profile, .bash_profile, .bashrc i .bash_login.

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

Ljuska se poziva nakon što se korisnik uspješno prijavi u sustav, pomoću/bin/login, nakon čitanja vjerodajnica pohranjenih u datoteci/etc/passwd.

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

Ljuska se pokreće u naredbenom retku pomoću programa ljuske, na primjer $/bin/bash ili $/bin/zsh. To se također može pokrenuti izvođenjem naredbe/bin/su.

Uz to, interaktivna ljuska koja se ne prijavljuje može se pozvati i terminalskim programom kao što je konsole, xterm iz grafičkog okruženja.

Kada se ljuska pokrene u ovom stanju, ona kopira okruženje roditeljske ljuske i čita korisničku datoteku ~/.bashrc za dodatne upute za konfiguriranje pokretanja.

$ su
# ls -la

Ljuska se poziva kada se skripta ljuske izvodi. U ovom načinu obrađuje skriptu (skup naredbi/funkcija školjke ili generičkog sustava) i ne zahtijeva unos korisnika između naredbi, osim ako nije drugačije. Djeluje koristeći okruženje naslijeđeno od roditeljske ljuske.

Razumijevanje datoteka za pokretanje školjki širom sustava

U ovom ćemo odjeljku osvijetliti više datoteka za pokretanje ljuske koje spremaju konfiguracije za sve korisnike u sustavu, a one uključuju:

Datoteka/etc/profile - ona pohranjuje konfiguracije okruženja za cijeli sustav i programe za pokretanje za postavljanje prijave. U ovu datoteku treba dodati sve konfiguracije koje želite primijeniti na sva okruženja korisnika sustava.

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

# cat /etc/profile

Napomena: U određenim sustavima poput RHEL/CentOS 7 dobit ćete upozorenja poput „Ne preporučuje se mijenjanje ove datoteke ako ne znate što radite. Puno je bolje stvoriti prilagođenu skriptu ljuske .sh u /etc/profile.d/ da biste napravili prilagođene promjene u svom okruženju, jer će to spriječiti potrebu za spajanjem u budućim ažuriranjima “.

Direktorij /etc/profile.d/ - pohranjuje skripte ljuske koje se koriste za prilagođene promjene u vašem okruženju:

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

Datoteka/etc/bashrc ili /etc/bash.bashrc - sadrži sistemske funkcije i pseudonime, uključujući ostale konfiguracije koje se primjenjuju na sve korisnike sustava.

Ako vaš sustav ima više vrsta školjki, dobro je u ovu datoteku staviti konfiguracije specifične za bash.

# cat /etc/bashrc

Razumijevanje korisničkih datoteka za pokretanje školjke

Dalje ćemo objasniti više o datotekama startnih točaka specifičnih za ljusku (bash), koje spremaju konfiguracije za određenog korisnika u sustavu, nalaze se u korisnikovom kućnom direktoriju i uključuju:

# ls -la

Datoteka ~/.bash_profile - ovdje se pohranjuju korisničke konfiguracije okruženja i programa za pokretanje. Ovdje možete postaviti svoju prilagođenu varijablu okruženja PATH, kao što je prikazano na snimci zaslona u nastavku:

# cat ~/.bash_profile

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

# cat ~/.bashrc

Datoteka ~/.bash_login - sadrži određene konfiguracije koje se obično izvršavaju samo kada se prijavite u sustav. Kada odsutan profil ~/.bash_profile, ovu će datoteku čitati bash.

Datoteka ~/.profile - ova se datoteka čita u nedostatku ~/.bash_profile i ~/.bash_login; može pohraniti iste konfiguracije, kojima također mogu pristupiti druge ljuske u sustavu. Budući da smo ovdje uglavnom govorili o bashu, imajte na umu da druge ljuske možda neće razumjeti sintaksu basha.

Dalje ćemo objasniti i dvije druge važne datoteke specifične za korisnika koje nisu nužno bash datoteke za inicijalizaciju:

Datoteka ~/.bash_history - bash održava povijest naredbi koje je korisnik unio u sustav. Ovaj se popis naredbi čuva u korisnikovom kućnom direktoriju u datoteci ~/.bash_history.

Da biste pogledali ovaj popis, upišite:

$ history 
or 
$ history | less

Datoteka ~/.bash_logout - ne koristi se za pokretanje ljuske, ali pohranjuje korisničke upute za postupak odjave. Čita se i izvršava kad korisnik izađe iz interaktivne ljuske za prijavu.

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

# cat bash_logout 

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

To je sve za sada! U ovom smo članku objasnili datoteke pokretanja/inicijalizacije ljuske u Linuxu. Upotrijebite donji obrazac za komentar da biste nam odgovorili.