składającą się z dwóch opcji polecenia SSH. <em>Rsync</em> będzie
korzystać z tych informacji.
</p>
+ <h2 id="11.3.filesharingentrance">11.3. Wprowadzenie do udostępniania plików</h2>
+ <p>
+ Operując w sieci lokalnej maszynami z dystrybucjami Linuksa,
+ przyjdzie kiedyś pora, na to aby wykorzystać je do współdzielenia
+ plików między użytkownikami, nie zależnie od tego jakiego systemu
+ używają. Tutaj warto się zastanowić na tym między jakimi systemami
+ będą one wymieniane oraz w jaki użytkownicy łączą się z naszymi
+ serwerami. Czy łączą się bezpośrednio z siedziby firmy gdzie też
+ znajdują się serwery czy też pracują zdalnie.
+ </p>
+ <p>
+ Dlaczego o tym mówię, otóż istnieją metody lepiej i gorzej
+ przystosowane
+ do współdzielenia plików między różnymi systemami. Jedne są prostsze
+ w obsłudze, ale np. nie posiadają żadnych metod uwierzytelniania,
+ albo zostosowanie ich wymaga dodatkowych środków i nakładu pracy.
+ Inne posiadają już pewne zabezpieczenia przed nieuprawnionym
+ dostępem, ale nie są aż tak wydajne. Trzecią opcją są metody bardziej
+ skupiające się na bezpieczeństwie, ale ich wydajność nie ma jednej
+ nogi i w dodatku kuleje. Oczywiście przy większym zangażowaniu
+ użyć tych metod w pozostałych środowiskach, a nie tylko w tych
+ wymienionych, jednak warto mieć powyższe na uwadze oraz przyjąć do
+ wiadomości fakt, że jeśli coś nie bardziej skomplikowane, to więcej
+ składników tego czegość może zawieść. Tym optymistycznym akcentem
+ przjdziemy do pierwszej metody.
+ </p>
+ <h2 id="11.3.samba">11.3. Współdzielenie plików między wszystkimi platformami</h2>
+ <p>
+ Jedną z metod współdzielenia plików między większością dostępnych
+ platform na świecie jest pakiet <strong>Samba</strong>. Pakiet ten
+ zawiera wszelkie niezbędne oprogramownie do obsługi protokołu
+ SMB (ang. <em>Server Message Block</em>) firmy Microsoft. Protokół
+ ten w systemach MS Windows służy do udostępniania folderów w sieci.
+ Sama jest natomiast implementacją protokołu SMB dla Uniksów (bo
+ nie tylko dla samych dystrybucji Uniksa). Nasza konfiguracja będzie
+ składać sie głównie z opisu konfiguracji serwera. W niej zamiemy się
+ ogólną konfiguracją serwera, konfiguracją uwierzytelniania i
+ użytkowników, udostępnianiem udziałów (katalogów) oraz udostępnianie
+ drukarek. Zatem nie przedłużając:
+ </p>
+ <h3 id="11.3.1.generalsambaconfig">11.3.1. Ogólna konfiguracja serwera Samba</h3>
+ <p>
+ <em>Samba</em> to potężny demon, posiadający wiele zastosowań,
+ na przykład po za konfiguracją udostępniania folderów oraz drukarek
+ Samba może świadczyć usługi katalogowe (domenowe) dla systemów w
+ sieci jeśli chcelibyć zarządzać wszystkimi komputerami w sieci. O
+ konfiguracji Samby jako serwera domenowego <em>Active Directory</em>
+ (usługi katalogowe w implementacji Microsoft-u) zrobiłem odrębny
+ materiał i znajduje się pod tym linkiem: <a href="https://morketsmerke.github.io/articles/linux/samba_AD_DC_-_Instalacja.html">https://morketsmerke.github.io/articles/linux/samba_AD_DC_-_Instalacja.html</a>
+ Pakiet <em>Samby</em> składa się głównie z dwóch programów. Głównego
+ demona protokołu SMB <strong>smbd</strong> oraz demona protokołu
+ <em>NetBIOS</em>, który jest protokołem pomocniczym dla SMB i
+ zapewnia interfejs pozwalający na łączenie się aplikacji w innym
+ komputerami w sieci lokalnej. Istotną cechą jaką odgrywa
+ <em>NetBIOS</em> jest używanie przyjaznej nazwy zamiast adresu.
+ <!--[Źródło: https://pl.wikipedia.org/wiki/NetBIOS ]-->
+ A odpowiadającym za niego demonem jest <em>nmbd</em>. Te informacje
+ mogą być nam potrzebne podczas zarządzania <em>Sambą</em>, bowiem
+ czasami trzeba zrestartować oba demony, aby pewne zmiany mogły wejść
+ w życie.
+ </p>
+ <p>
+ Plik konfiguracyjny na Debianie znajduje się w katalogu
+ <em>/etc/samba</em>. Plik jest formatu XDG, czyli jest podzielny na
+ sekcję (np. <em>[global]</em>) w sekcjach zawarte są opcje w formacie
+ klucz-wartość (np. <em>workgroup = WORKGROUP</em>). Sama konfiguracja
+ jest dość rozwleczona przez duża ilość opisów, pomocne rozwiazanie
+ kiedy nad lub pod opcją mamy wyjaśnienie co dokładnie ona robi. Sama
+ sekcja <code class="code-inline">[global]</code> podzielona jest
+ za pomocą komentarzy na podsekcje, w których znajdują się opcje np.
+ dotyczące sieci czy uwierzytelniania. Zawartość tego pakietu jest
+ zależna od dystrybucji. Dlatego też na Debianie mamy w podsekcji
+ <code class="code-inline">Browsing/Identification</code> mamy tylko
+ opcję definiującą grupę roboczą.
+ </p>
+<pre class="code-block">
+[global]
+
+## Browsing/Identification ###
+workgroup = WORKGROUP
+</pre>
+ <p>
+ Jest to wskazanie grupy roboczej, której częścią ma być serwer
+ <em>Samby</em>, najczęściej jest to
+ <code class="code-inline">WORKGROUP</code>, który jest wartością
+ domyślną. Po tej opcji następuje Podsekcja sieciowa. W niej występują
+ następujące opcje:
+ </p>
+<pre class="code-block">
+#### Networking ####
+; interfaces = 127.0.0.0/8 eth0
+
+; bind interfaces only = yes
+</pre>
+ <p>
+ Tutaj znajdują się tylko dwie opcje służą one kształtowaniu ruchu
+ jaki może docierać do <em>Samby</em>. Za pomocą opcji
+ <code class="code-inline">interfaces</code> podajemy adresy sieci
+ w notacji CIDR wraz z nazwami interfejsów, które będą mogły korzystać
+ z serwera. Druga opcja
+ <code class="code-inline">bind interfaces only</code> powoduje, że
+ ruch do <em>Samby</em> będzie dopuszczony tylko ze zdefiniowanych za
+ pomocą opcji <em>interfaces</em> sieci.
+ </p>
+<pre class="code-block">
+#### Debugging/Accounting ####
+ log file = /var/log/samba/log.%m
+ max log size = 1000
+ logging = file
+ panic action = /usr/share/samba/panic-action %d
+</pre>
+ <p>
+ W podsekcji <code class="code-block">Debugging/Accounting</code>
+ znajdują się opcje odwiedzialne za konfiguracje rejestrowania
+ komunikatów diagnostycznych i tak kolejno:
+ </p>
+ <ul>
+ <li><strong>log file</strong> - ta opcja wskazuje nam konkretny plik
+ z komunikatami diagnostycznymi połączeń. Nadanie tej opcji takiej
+ wartości jak na przykładzie spowoduje, że dla każdego podłączonego
+ do serwera komputera będzie tworzony osobny plik na komunikaty
+ diagnostyczne.</li>
+ <li><strong>max log size</strong> - ustawienie maksymalnego rozmiaru
+ dla pojedynczego pliku z komunikatami diagnostycznymi wyrażone w
+ KiB.</li>
+ </ul>
</div>
<p style="margin: 15px; padding: 0; outline: 0;">
2022; COPYLEFT; ALL RIGHTS REVERSED;