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

- 1395
- 392
- Pani Janina Cieśla
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.

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

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

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

/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

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

~/.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

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

~/.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

~/.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

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.
- « ShellCheck - narzędzie, które pokazuje ostrzeżenia i sugestie dotyczące skontleurowych scenariuszy
- Jak uaktualnić z Ubuntu 16.10 do Ubuntu 17.04 »