Zrozumienie plików inicjalizacji powłoki i profile użytkowników w Linux

Zrozumienie plików inicjalizacji powłoki i profile użytkowników w Linux

Linux to wielo-użytkownik, system udostępniania czasu, co sugeruje, że więcej niż jeden użytkownik może zalogować się i używać systemu. A administratorzy systemu mają zadanie zarządzania różnymi aspektami, w jaki sposób różni użytkownicy mogą obsługiwać system pod względem instalowania/aktualizacji/usuwania oprogramowania, programów, które mogą uruchamiać, pliki, które mogą przeglądać/edytować i tak dalej.

Linux umożliwia także tworzenie lub utrzymanie środowisk użytkowników na dwa główne sposoby: korzystanie z systemu (globalnego) i konfiguracji specyficznych dla użytkownika (osobistego). Zwykle podstawową metodą pracy z systemem Linux jest powłoka, a powłoka tworzy środowisko w zależności od niektórych plików, które odczytuje podczas jego inicjalizacji po udanym zalogowaniu użytkownika.

Sugerowane przeczytanie: Jak ustawić zmienne środowiskowe w Linux

W tym artykule wyjaśnimy pliki inicjalizacji powłoki w odniesieniu do profili użytkowników dla lokalnego zarządzania użytkownikami w Linux. Damy Ci znać, gdzie zachować niestandardowe funkcje powłoki, aliasów, zmiennych, a także programów startupowych.

Ważny: Na potrzeby tego artykułu skupimy się grzmotnąć, A cii Kompatybilna powłoka, która jest najpopularniejszą/używaną powłoką w systemach Linux.

Jeśli używasz innego programu skorupy (ZSH, ASH, FISH itp.), Przeczytaj jego dokumentację, aby dowiedzieć się więcej o niektórych powiązanych plikach.

Inicjalizacja powłoki w Linux

Po wywołaniu powłoki istnieją pewne pliki inicjalizacji/startupu, które odczytuje, które pomagają skonfigurować środowisko dla samego powłoki i użytkownika systemu; to jest predefiniowane (i dostosowane) funkcje, zmienne, aliasy i tak dalej.

Istnieją dwie kategorie plików inicjalizacyjnych odczytanych przez powłokę:

  • Pliki uruchamiania całego systemu - Tezy zawierają globalne konfiguracje, które mają zastosowanie do wszystkich użytkowników w systemie i zwykle znajdują się w /itp informator. Zawierają: /itp./profile I /etc/bashrc Lub /etc/bash.Bashrc.
  • Pliki startupowe specyficzne dla użytkownika - Te konfiguracje magazynowe mają zastosowanie do jednego użytkownika w systemie i zwykle znajdują się w katalogu domowym użytkowników jako pliki kropkowe. Mogą zastąpić konfiguracje całego systemu. Zawierają: .profile, .bash_profile, .Bashrc I .bash_login.

Ponownie powrót można wywołać w trzech możliwych trybach:

1. Interaktywna powłoka logowania

Powłoka jest wywoływana po pomyślnym zalogowaniu się użytkownika do systemu, używając /bin/login, Po przeczytaniu poświadczeń przechowywanych w /etc/passwd plik.

Kiedy powłoka zostanie uruchomiona jako interaktywna powłoka logowania, odczytuje /itp./Profil i jego równoważny specyficzny dla użytkownika ~/.bash_profile.

Interaktywna powłoka logowania Linux

2. Interaktywna skorupa nie-loginowa

Shell jest uruchamiany na przykład na linii poleceń za pomocą programu powłoki $/bin/bash Lub $/bin/zsh. Można też rozpocząć od uruchomienia /bin/su Komenda.

Dodatkowo można również wywołać interaktywną powłokę nie-loginową z programem terminalowym, takim jak Konsole, terminator lub xterm z środowiska graficznego.

Kiedy powłoka zostanie uruchomiona w tym stanie, kopiuje środowisko powłoki nadrzędnej i odczytuje specyficzny dla użytkownika ~/.Bashrc plik dodatkowych instrukcji konfiguracji uruchamiania.

$ su # ls -la 
Interaktywna skorupa nie-loginowa

3. Nieinteraktywna powłoka

Powłoka jest wywoływana podczas uruchomienia skryptu powłoki. W tym trybie przetwarza skrypt (zestaw poleceń/funkcji systemu powłoki lub ogólnych) i nie wymaga wprowadzania użytkownika między poleceniami, chyba że inaczej. Działa przy użyciu środowiska odziedziczonego po powłoce nadrzędnej.

Zrozumienie całego systemu plików uruchamiania powłoki

W tej sekcji zacierzymy więcej światła na plikach uruchamiania powłoki, które przechowują konfiguracje dla wszystkich użytkowników w systemie, a obejmują one:

/etc/plik profilu - Przechowuje konfiguracje środowiska w całym systemie i programy uruchamiania do konfiguracji logowania. Wszystkie konfiguracje, które chcesz zastosować do środowisk wszystkich użytkowników systemu, powinny zostać dodane w tym pliku.

Na przykład możesz ustawić zmienną środowiskową globalnej ścieżki tutaj.

# cat /etc /profil 
Plik konfiguracyjny szerokiej systemu

Notatka: W niektórych systemach, takich jak RHEL/CENTOS 7, Otrzymasz takie ostrzeżenia, jak „nie zaleca się zmiany tego pliku, chyba że wiesz, co robisz. O wiele lepiej jest stworzyć zwyczaj .cii Skrypt powłoki w /itp./Profil.D/ Aby wprowadzić niestandardowe zmiany w środowisku, ponieważ zapobiegnie to potrzebie scalenia w przyszłych aktualizacjach ”.

/itp./Profil.D/ KATALOG - przechowuje skorupy używane do wprowadzania niestandardowych zmian w środowisku:

# CD /etc /profil.d/ # ls -l 
Przechowuje niestandardowe skontlerze

/etc/bashrc Lub /etc/bash.Bashrc Plik - zawiera funkcje i aliasy systemowe, w tym inne konfiguracje, które mają zastosowanie do wszystkich użytkowników systemu.

Jeśli Twój system ma wiele rodzajów powłok, dobrym pomysłem jest umieszczenie konfiguracji specyficznych dla Bash w tym pliku.

# cat /etc /bashrc 
Szerokie funkcje i aliasy systemowe

Zrozumienie plików uruchamiania powłoki specyficznej dla użytkownika

Następnie wyjaśnimy więcej dotyczących plików kropki Shell (BASH) specyficznych dla użytkownika, które przechowują konfiguracje dla konkretnego użytkownika w systemie, znajdują się one w katalogu domowym użytkownika i obejmują one:

# ls -la 
Pliki konfiguracyjne specyficzne dla użytkownika

~/.bash_profile Plik - To przechowuje konfiguracje środowiska dla użytkownika i programy uruchamiania. Możesz ustawić zmienną środowiskową ścieżki niestandardowej tutaj, jak pokazano na zrzucie ekranu poniżej:

# cat ~/.bash_profile 
Profil Bash użytkownika

~/.Bashrc Plik - ten plik przechowuje aliasy i funkcje specyficzne dla użytkownika.

# cat ~/.Bashrc 
Plik Bashrc użytkownika

~/.bash_login Plik - zawiera określone konfiguracje, które zwykle są wykonywane tylko po zalogowaniu się do systemu. Kiedy ~/.bash_profile jest nieobecny, ten plik zostanie odczytany przez Bash.

~/.profil Plik - ten plik jest odczytany przy braku ~/.bash_profile I ~/.bash_login; może przechowywać te same konfiguracje, które mogą być również dostępne przez inne powłoki w systemie. Ponieważ rozmawialiśmy głównie o Bash, pamiętaj, że inne skorupy mogą nie zrozumieć składni bash.

Następnie wyjaśnimy również dwa inne ważne pliki specyficzne dla użytkownika, które niekoniecznie są plikami inicjalizacyjnymi Bash:

~/.bash_history Plik - Bash utrzymuje historię poleceń, które zostały wprowadzone przez użytkownika w systemie. Ta lista poleceń jest przechowywana w katalogu domowym użytkownika w ~/.bash_history plik.

Aby wyświetlić tę listę, wpisz:

$ HISTORIA lub $ HISTORIA | mniej 
Wyświetl ostatnie wykonane polecenia

~/.bash_logout Plik - nie jest używany do uruchamiania powłoki, ale przechowuje instrukcje dla użytkownika dla procedury wylogowania. Jest odczytany i wykonywany, gdy użytkownik wychodzi z interaktywnej powłoki logowania.

Jeden praktyczny przykład wyczyścił okno terminala po wylogowaniu. Jest to ważne w przypadku zdalnych połączeń, które po zamknięciu pozostawią czyste okno:

# cat bash_logout 
Jasna historia po wylogowaniu

Aby uzyskać dodatkowe informacje, sprawdź zawartość tych plików inicjalizacji powłoki na różnych dystrybucjach Linux, a także przeczytaj stronę Bash Man:

To wszystko na teraz! W tym artykule wyjaśniliśmy pliki uruchamiania/inicjalizacji powłoki w Linux. Użyj poniższego formularza komentarza, aby odpisać do nas.