W kilku poprzednich artykułach opisałem proces doboru odpowiedniego systemu operacyjnego dla domowego serwera, następnie przeprowadziłem użytkownika przez proces instalacji, zmiany adresu IP na statyczny, a także konfiguracji połączenia SSH (zarządzanie zdalne). Gdy serwer pracuje już poprawnie nie pozostaje nic innego, jak stworzenie współdzielonego katalogu, który będzie służył jako Dysk Sieciowy dla wszystkich urządzeń w sieci domowej. Z pomocą przyjdzie tutaj oprogramowanie Samba, które pozwoli na udostępnianie katalogów i zarządzanie poziomami dostępu.
Samba i katalogi współdzielone
Zbiór narzędzi instalowanych jako pakiet Samba w systemie Linux pozwala na przygotowanie połączenia wykorzystującego protokół SMB. Nie chcę zagłębiać się w techniczny opis działania protokołu, w skrócie można opisać go jako protokół pozwalający na wymianę danych między serwerem oraz klientem, dzięki czemu możliwe jest przesyłanie plików między urządzeniami (a także bezpośrednia praca na nich). Do pracy konieczne jest zainstalowanie odpowiednich pakietów oraz konfiguracja współdzielonego katalogu.
Instalacja Samby
Instalację pakietu Samba należy rozpocząć od wpisania polecenia:
sudo apt update
sudo apt install samba
Po zainstalowaniu możliwe jest wpisanie polecenia whereis samba, które zwróci nam listę wszystkich katalogów, w których znajdują się pliki konfiguracyjne Samby. Dzięki temu otrzymamy potwierdzenie, że pliki Samby zostały pobrane i rozpakowane na dysku serwera.
Konfiguracja Samby
Współdzielenie zasobów polega na utworzeniu na serwerze katalogu, a następnie udostępnienie go w sieci lokalnej poprzez właściwą konfigurację plików Samby. Należy wskazać tam ścieżkę dostępową do katalogu na serwerze, dozwolonych użytkowników i kilka dodatkowych parametrów. Zacznijmy od utworzenia katalogu, który chcemy udostępnić.
sudo mkdir /home/raccoon/sambashare
Po utworzeniu katalogu należy wyedytować plik konfiguracyjny Samby. Aby to zrobić należy wpisać polecenie:
Po wpisaniu powyższego polecenia wyświetlona zostanie zawartość dokumentu konfiguracyjnego Samby. Należy przejść na sam koniec dokumentu i dopisać konfigurację dla nowo utworzonego katalogu. Treść powinna wyglądać jak poniżej:
[sambashare]
comment = Sambashare on Ubuntu
path = /home/raccoon/sambashare
read only = no
browsable = yes
Po dopisaniu powyższej treści do dokumentu należy go zapisać wciskając kombinację klawiszy Ctrl+O, a następnie zamknąć edytor klawiszami Ctrl+X. Po zapisaniu konfiguracji należy zrestartować usługę wpisując polecenie:
sudo service smbd restart
Kolejnym krokiem, jaki należy wykonać to pozwolenie usłudze Samba na odbieranie i wysyłanie pakietów w sieci. Należy to zrobić poprzez odblokowanie usługi w systemowym firewallu. Brzmi dość groźnie, ale wykonuje się to jedną komendą:
sudo ufw allow samba
Po wykonaniu powyższych działań udostępniony katalog będzie możliwy do wykrycia w sieci lokalnej, jednak nie będzie możn jeszcze podłączyć się do niego. Aby przeglądanie i edycja zawartości katalogu stała się możliwa konieczne jest dodanie do konfiguracji użytkownika, który będzie posiadał odpowiednie uprawnienia.
Dodawanie użytkowników
Dodanie użytkownika do usługi Samby możliwe jest jedynie wtedy, gdy użytkownik istnieje w systemie domowym. Oznacza to, że istnieje konieczność dodania nowego użytkownika lub skorzystanie z już istniejącego. W przedstawionym poniżej przypadku skorzystam z użytkownika już istniejącego w systemie (admin serwera). W tym celu należy wpisać polecenie:
sudo smbpasswd -a raccoon
Konfigurując swój serwer wpisz w miejsce „raccoon” swoją nazwę użytkownika. Po wciśnięciu „Enter” konfigurator poprosi o podanie hasła, którego użytkownik będzie używał do poświadczenia dostępu do katalogu na innym komputerze.
Od tej chwili możliwe będzie podpięcie katalogu sieciowego na dowolnym komputerze w sieci lokalnej używająć utworzonych poświadczeń. Oczywiście jak wspomniałem wcześniej możliwe jest dodanie do katalogu dodatkowego użytkownika. W tym celu należy zacząć od dodania użytkownika do systemu:
useradd UŻYTKOWNIK
passwd UŻYTKOWNIK
W miejscu opisanym jako „UŻYTKOWNIK” należy podać nazwę nowego użytkownika. Po wpisaniu drugiej komendy konfigurator poprosi o podanie nowego hasła, a następnie o jego potwierdzenie.
Kolejny krok to dodanie nowo utworzonego użytkownika do Samby. Należy wpisać ponownie polecenie smbpasswd, lecz tym razem dla nowego użytkownika.
Następnie należy ponownie otworzyć dokument z konfiguracją Samby i do konfiguracji udostępnionego katalogu dodać linię, dzięki której użytkownik zostanie dopuszczony do przeglądania i edycji zawartości katalogu. Linia, którą należy dopisać to: valid users = użytkownik1 użytkownik2. W moim przypadku konfiguracja wygląda jak poniżej:
Zapisujemy dokument (Ctrl+O), zamykamy edytor (Ctrl+X) i restartujemy usługę:
sudo service smbd restart
Po zakończeniu powyższej konfiguracji możliwe będzie przypisanie katalogu jako dysk sieciowy z użyciem świeżo skonfigurowanych poświadczeń.
Podłączanie się do zasobu
Podłączanie utworzonego katalogu współdzielonego na innych urządzeniach w sieci to proces bardzo prosty, lecz jego wykonanie zależy od posiadanego systemu operacyjnego. Poniżej przedstawiam instrukcję podłączania katalogu dla trzech najpopularniejszych platform: Linux, Android oraz Windows.
Linux (Ubuntu)
W przypadku systemu Linux Ubuntu temat jest bardzo prosty. Aby dodać nowy zasób sieciowy należy otworzyć przeglądarkę plików, a następnie kliknąć zakładkę „+ Inne lokalizacje” widoczną po lewej stronie okna przeglądarki plików. Następnie na samym dole okna należy wpisać w polu „Połącz z Serwerem” dane serwera, czyli:
smb://192.168.100.111
Prefiks „smb://” wskazuje na protokół, z jakiego korzysta serwer, natomiast „192.168.100.111” to adres IP serwera.
Po wciśnięciu przycisku „Połącz” system zweryfikuje, czy pod wskazanym adresem faktycznie udostępniane są katalogi, które można przeglądać. Jeśli wszystko zostało uzupełnione prawidłowo powinien wyświetlić się widok, w którym pojawi się katalog utworzony wcześniej na serwerze.
Aby zapisać katalog jako lokalizację sieciową wystarczy kliknąć na katalogu dwukrotnie lewym przyciskiem myszy, a następnie podać poświadczenia utworzone wcześniej na serwerze. W moim przypadku będzie to użytkownik „share” oraz przypisane do niego hasło. Dodatkowo zaznaczam opcję „Pamiętaj na zawsze”, dzięki czemu system nie będzie pyta o poświadczenia za każdym razem, gdy będę chciał otworzyć katalog (także po ponownym uruchomieniu komputera).
Po kliknięciu przycisku „Połącz” uzyskamy dostęp do katalogu, a skrót do niego pojawi się to lewej stronie okna przeglądarki plików oznaczony jako „sambashare na 192.168.100.111„.
Od tej pory katalog będzie dostępny do pracy w każdej chwili (pod warunkiem, że sam serwer będzie włączony).
Android
Telefony z systemem Android domyślnie nie posiadają aplikacji, która pozwala na połączenie z dyskiem sieciowym (przynajmniej większość z nich). Łatwo to nadrobić instalując dodatkową aplikację ze „Sklepu Play„. Polecam skorzystanie z aplikacji „File Manager Plus„, która posiada bardzo prosty i czytelny interfejs. Po zainstalowaniu przejdź do aplikacji klikając skrót utworzony w urządzeniu.
Po uruchomieniu programu widoczne będą wszystkie lokalizacje i typy plików w urządzeniu. Na samym dole dostępna jest także funkcja „Remote„, która pozwala na dodanie lokalizacji sieciowej. Kliknij ikonkę „Remote„, aby dodać serwer lokalny.
W kolejnym oknie należy wybrać opcję „+ Add a remote location„, a następnie „SMB„.
Następny krok to podanie adresu IP hosta (naszego serwera), nazwy użytkownika oraz hasła. Program zajmie się resztą i przygotuje połączenie z katalogiem udostępnionym.
Po chwili uzyskamy dostęp do katalogu na serwerze lokalnym. Za pomocą programu File Manager Plus możliwe jest tworzenie nowych katalogów na dysku sieciowym oraz przesyłanie do niego danych. To bardzo wygodne rozwiązanie, jeśli chcemy raz na jakiś czas zrobić backup galerii zdjęć czy przerzucić szybko ulubiona muzykę z komputera na telefon bez podpinania kabla.
Windows (10)
Połączenie z dyskiem sieciowym w systemie Windows 10 odbywa się poprzez funkcję zmapowania dysku sieciowego. Aby to zrobić należy otworzyć „Mój Komputer„, a następnie na pasku zadań wybrać opcję „Mapuj dysk sieciowy„. Z rozwijanego menu należy wskazać ponownie opcję „Mapuj dysk sieciowy„, po czym wyświetlone zostanie okno konfiguracyjne dysku sieciowego.
W wyświetlonym oknie należy wybrać literę, pod którą dysk zostanie przypisany w systemie, następnie podać adres serwera i udostępnionego folderu w formie ścieżki dostępowej. Dodatkowo warto upewnić się, że opcje „Połącz ponownie przy logowaniu” oraz „Połącz przy użyciu innych poświadczeń” są zaznaczone. Po wpisaniu danych wystarczy kliknąć przycisk „Zakończ„.
W kolejnym oknie należy wpisać poświadczenia pozwalające na dostęp do serwera. Skorzystaj z danych nowo utworzonego użytkownika lub admina serwera.
Jeśli wszystko zostało wpisane poprawnie nowy dysk sieciowy powinien pojawić się w systemie jako dysk dostępny pod wskazaną przez nas literą (widoczny w oknie „Mój komputer„).
W przypadku pozostałych platform polecam zapoznanie się z dokumentacją lub stworzenie zapytania na forach / grupach poświęconych systemowi operacyjnemu, z którego korzystasz. Proces powinien być jednak bardzo podobny do przedstawionych powyżej przykładów.
Podsumowanie
Domowy serwer to idealne rozwiązanie jeśli chcemy mieć uniwersalny dysk sieciowy, który można podpiąć pod każde urządzenie w sieci lokalnej (bez względu na posiadany system operacyjny). Pozwala to na szybką wymianę plików między urządzeniami i znacząco rozszerza dostępną na urządzeniach pamięć – większość plików można mieć na serwerze, przez co backup zajmuje mniej miejsca i wystarczy jedna kopia każdego pliku, aby można było otworzyć ją na wielu urządzeniach. Wszystko to dzięki oprogramowaniu Samba i odrobinie konfiguracji przeprowadzonej na serwerze. W kolejnym artykule przedstawię jak wygodnie zarządzać serwerem poprzez panel webowy Cockpit. Pozwala to na szybki pogląd statusu i wprowadzeni podstawowych zmian bez konieczności każdorazowego łączenia się z serwerem po SSH.