]> gitweb.morketsmerke.org Git - mmdev.git/commitdiff
Rozpoczęcie tworzenia rodziału 12
authorxf0r3m <jakubstasinski@protonmail.com>
Mon, 2 Oct 2023 11:57:24 +0000 (13:57 +0200)
committerxf0r3m <jakubstasinski@protonmail.com>
Mon, 2 Oct 2023 11:57:24 +0000 (13:57 +0200)
articles/terminallog/Linux.Podstawy.html

index 1fa9e34bffadc6c2b71466c0d2820c160e2ee67a..d823c95257eb02ae556619c1727dd322a4cfef35 100644 (file)
@@ -10264,6 +10264,127 @@ xf0r3m@vm-c1b9654:~$ mount | grep "debian:/home/xf0r3m"
           technicznego udostępniących pliki. Jedni potrzebują specjalnych
           rozwiązań i specjalnych aplikacji innych zadowoli SFTP oraz SSHFS.
         </p>
+        <h1 id="12.userenv">12. Konfiguracja środowiska użytkownika</h1>
+        <p>
+          Chcąc przedstawić użytkownikom dostępnę środowiska często przedstawia
+          się podział, na środowisko tekstowe (TUI/CLI) lub środowisko
+          graficzne. Dla uproszczenia też zastosowuje tutaj ten podział.
+          Ze względu na to, że istnieje bardzo duża liczba dostępnych
+          <em>środowisk graficznych</em> oraz fakt, że jego obecność do
+          normalnego działania systemu jest zbędna, w tym rodziale skupimy się
+          głównie na <em>środowisku tesktowym</em>, a tym jest głównie powłoka.
+        </p>
+        <h2 id="12.1.shellsmode">12.1. Rodzaje powłok</h2>
+        <p>
+          Obrębie konfiguracji środowiska tekstowego użytkownika, pojęcie
+          <em>rodzaje powłok</em>, nie tyczy się programów powłoki takich jak
+          BASH czy CSH. Tutaj zakładamy, że BASH jest naszą domyślną powłoką
+          oraz że to jej używamy. Powłoka może <strong>interaktywna</strong>
+          (korzystamy z niej domyślnie np. logując się do systemu.) lub
+          <strong>nieinteraktywna</strong> (taki rodzaj powłoki uruchamiają
+          skrypty powłoki [będzie o nich w ostatnim rozdziale]). Innym rodzajem
+          podziału działania powłoki może być <strong>powłoka logowania</strong>
+          oraz <strong>powłoka bez logowania</strong>
+        </p>
+        <p>
+          Powłoka logowania uruchamiana jest za każdym razem kiedy,
+          (najprościej rzecz ujmując) wymagane jest uprzednio logowania aby
+          uruchomić sesję powłoki. Logując się jeden z konsol na serwerze
+          uruchamiamy interaktywną połokę logowania podobnie jest w przypadku
+          połączeń zdalnych z wykorzystaniem protokołu SSH.
+        </p>
+        <p>
+          Drugim rodzajem jest powłoka bez logowania, tyczy się ona głównie
+          środowisk graficznych, bo tego rodzaju działanie powłoki jest
+          zapewnianie programy typu <em>emulator terminala</em> oraz
+          <em>multiplekser terminala</em> jak <strong>GNU Screen</strong> lub
+          <strong>tmux</strong>.
+        </p>
+        <p>
+          Określenie tego czy powłoką, którą używany jest powłoką logowania
+          czy też bez logowania następuje poprzez analizę wartości zwróconej
+          przez polecenie <code class="code-inline">echo $0</code>.
+        </p>
+<pre class="code-block">
+xf0r3m@debian:~$ echo $0
+-bash
+xf0r3m@vm-6bee73e:~$ echo $0
+bash
+</pre>
+        <p>
+          Pierwsza powłoka została zinicjowana przez połączenie SSH na
+          maszynie wirtualnej. W przypadku wartości zwróconej przez powyższe
+          polecenie na tym hoście, nazwę powłoki poprzedza myślnik
+          (<code class="code-inline">-</code>), co oznacza, że jest to powłoka
+          logowania, wartość zmiennej bez myślnika, oznacza powłokę bez
+          logowania. Druga powłoka została uruchomiona na drugiej karcie tego
+          samego emulatora terminala, na którym pisze ten tekst.
+        </p>
+        <p>
+          Istnieje mozliwość uruchomienia wielu kombinacji rodzaji powłoki,
+          nawet możliwość uruchomienia nieinteraktywnej powłoki logowania.
+        </p>
+        <h2 id="12.2.userenvfiles">12.2. Pliki środowiska użytkownika</h2>
+        <p>
+          Dlaczego o tym wspominam, otóż różne rodzaje powłok mogą korzystać z
+          różnych plików uruchomieniowych, z ktorych składa się środowisko
+          użytkowników. Tych plików jest kilka, głównego podziału możemy
+          doknac tylko i wyłącznie na podstawie <em>logowania</em> zatem:
+        </p>
+        <ul>
+          <li><em>~/.profile</em> - powłoki logowania.</li>
+          <li><em>~/.bashrc</em> - powłoki bez logowania</li>
+        </ul>
+        <p>
+          Jak możemy wnioskować po obecności tyldy (<strong>~</strong>), te
+          pliki są plikami użytkownika, chociaż w systemie może znaleźć się
+          także wersja systemowa. Tak jest w przypadku dysrybucji Debian,
+          pliki znajdują się kolejno <em>/etc/profile</em> lub
+          <em>/etc/bash.bashrc</em>. W każdym systemie znajdują się te pliki.
+          Pliki globalne posiadają kilka różnic o tych użytkowników. Ale my
+          w ramach tego materiału skupiamy sie głównie
+          <em>środowisku użytkownika</em> więc i na plikach użytkownika 
+          poprzestaniemy. Tego typu pliki posiada każdy w swomim systemie
+          więc nie mam sensu ich tutaj przytaczać.
+        </p>
+        <p>
+          Jeśli przyjrzymy się plikowi <em>~/.profile</em> to zauważymy, że
+          wewnątrz ładowany jest plik <em>~/.bashrc</em>. Tak więc powłoka
+          logowania zostanie zainicjowana również zgodnie z plikiem
+          <em>~/.bashrc</em>. Na koniec do zmiennej zawierającej ścieżkę
+          wyszukiwania poleceń dodane są lokalne katalogi, w których to
+          użytkownik powinien przechowywać swoje pliki binarne. I to cały plik
+          konfigurjący powłokę logowania. Znacznie bogatszym plikiem jest
+          plik konfigurujący powłokę bez logowania. Wewnątrz nie go znajdują
+          się miedzy innymi:
+        </p>
+        <ul>
+          <li>Konstrukcja dodająca polecenia do konfiguracji w przypadku
+            powłoki nieinteraktywnej jak i interkatywnej.</li>
+          <li>Domyślne ustawienia historii BASH.</li>
+          <li>Ustawienie formatu oraz kolorów dla znaku zachęty na podstawie
+            terminala na którym uruchomiona jest powłoka.</li>
+          <li>Ustawienie aliasów polecenia <em>ls</em> włączających domyślne
+            kolorowanie elementów.</li>
+        </ul>
+        <p>
+          Generalnie plik <em>~/.bashrc</em> jest plikiem, który przechowuje
+          informacje na temat:
+        </p>
+        <ul>
+          <li>Aliasów.</li>
+          <li>Zmiennej zawierającej ścieżkę wyszukiwania poleceń,</li>
+          <li>Definicji wyglądu znaku zachęty,</li>
+          <li>Domyślnego edytora (obecnie wykorzystywany jest do tego inny
+            program),</li>
+          <li>Programu stronicującego oraz jego domyślnego zachowania,</li>
+          <li>Domyślnych uprawnień nadawanych nowotworzonym elementom
+            (maska uprawnień).</li>
+        </ul>
+        <p>
+          Jeśli potrzebujemy zmienić coś z powyższych zaganień to należy
+          umieścić je w tym pliku.
+        </p>
        </div>
                        <p style="margin: 15px; padding: 0; outline: 0;">
                                2022; COPYLEFT; ALL RIGHTS REVERSED;