Jeśli posiadamy wiele różnych urządzeń typu: komputer, laptop, smartphone czy tablet dobrym rozwiązaniem jest utworzenie serwera, który będzie udostępniał pliki a także inne urządzenia np. drukarki wszystkim upoważnionym urządzeniom w obrębie sieci lokalnej. Do tego celu wykorzystamy multi-platformowy serwer Samba. Bez względu na to czy nasze urządzenie korzysta z systemu Windows, OS X, Linux czy Android będzie możliwe wykorzystanie współdzielenie plików i urządzeń podpiętych do naszego serwera. W tym wypadku serwerem będzie mini komputerek: Raspberry Pi 2 z systemem Ubuntu Mate.
W zasadzie nie ma znaczenia jaki komputer będzie naszym serwerem i jaki to będzie system operacyjny. Jednak skupimy się tutaj na dość popularnym mini-komputerze Raspberry Pi 2. Urządzenie to jest dość tanie w zakupie dodatkowo posiada sporą społeczność co daje wsparcie nie tylko ze strony producenta. Dodatkowo jest bezgłośne i zadowala się poborem mocy ok. 2-3Watów razem z podpiętym dyskiem 2.5″. Co do systemu operacyjnego, polecam Ubuntu Mate choćby dlatego, że nie ma problemów z obsługą zewnętrznych modułów WIFI, tak więc większość takowych modułów działa Plug&Play bez zbędnej konfiguracji.
Instalacja i konfiguracja
Jak to bywa w systemach opartych na Debianie, instalacja Samby ogranicza się do wklepania poniższego polecenia:
apt-get install samba samba-common-bin
Jeśli chcemy aby część lub wszystkie nasze zasoby były chronione hasłem należy utworzyć odpowiednich użytkowników.
Tak więc kolejnym krokiem jest utworzenie użytkownika widzianego przez serwer Samby. W naszym przypadku utworzymy użytkownika: storage. Należy mieć na uwadze, że taki użytkownik musi istnieć także w systemie. Listę użytkowników systemowych znajdziemy w lokalizacji: /etc/passwd.
Tworzymy użytkownika systemowego:
useradd -s /bin/false storage
Tworzymy użytkownika dla sewera Samby:
smbpasswd -a storage
Jeśli nie będzie wcześniej utworzonego użytkownika systemowego o tej samej nazwie jak ten dla serwera Samby dostaniemy stosowny komunikat: Failed to add entry for user [USER]
Użytkownicy, którzy są przypisani do Samby znajdują się w następującej lokalizacji: /var/lib/samba/private/passdb.tdb
Lista użytkowników Samby ( dodatkowo informacje na temat każdego użytkownika ):
pdbedit -L -v
-L : wyświetla tylko listę użytkowników -v : wyświetla dodatkowe inforamcje na temat użytkowników
Podstawowe operacje wykonywane na użytkownikach Samby:
pdbedit -x -u username
Tworzymy konfigurację dla zasobu, który chcemy udostępnić w pliku konfiguracyjnym: /etc/samba/smb.conf
[storage] comment = Private Storage path = /mnt/Storage valid users = storage read only = no
Powyższa konfiguracja dotyczy udostępniania zasobu zamontowanego w lokalizacji: /mnt/Storage. Uzyskanie dostępu wymaga autoryzacji ( użytkownik storage ) dodatkowo istnieje możliwość zapisu/modyfikowania plików.
Jeśli chcemy udostępnić zasoby bez autoryzacji to konfiguracja zasobu „storage” powinna wyglądać następująco :
[storage] comment = Public Storage path = /mnt/Storage guest ok = yes read only = no
Kolejny etap to zamontowanie dysku lub innego zasobu przeznaczonego do udostępniania:
Montowanie dysku zewnętrznego dla użytkownika samby:
Tworzymy katalog, który ma wskazywać na późniejsze zamontowanie naszych zasobów, na przykład:
mkdir /mnt/Storage
Sprawdzamy uid naszego użytkownika:
id -u username
Załóżmy, że nasz użytkownik ma uid=1000
Sprawdzamy identyfikator i system partycji naszego dysku, który chcemy zamontować:
fdisk -l
Identyfikator naszego dysku to: sda1 a system plików to FAT32.
Następnie montujemy „ręcznie” nasz dysk:
mount -t vfat -o umask=0022,gid=1000,uid=1000 /dev/sda1 /mnt/Storage
Aby przy każdym restarcie nie podpinać ręcznie naszego dysku dodajemy go do pliku: /etc/fstab jak poniżej:
/dev/sda1 /mnt/Storage vfat rw,noatime,uid=1000,gid=1000 0 0
Na koniec restartujemy Sambę wydając polecenie w terminalu:
service smbd restart
lub:
/etc/init.d/smbd restart
Łączenie się z serwerem Samba
Połączenie się z serwerem Samba w zależności od systemu operacyjnego wygląda podobnie, choć w niektórych przypadkach ( szczególnie w mobilnych OS ) wymagane jest zainstalowanie odpowiedniej aplikacji, która będzie miała zaimplementowaną obsługę Samby ( wymagany client Samba ). W systemie Windows i OS X mamy obsługę Samby domyślnie aktywną i korzystamy z niej za pośrednictwem systemowych menadżerów plików.
System Apple: OS X
Połączenie z naszym serwerem wykonamy za pośrednictwem Findera. Wybieramy odpowiednią opcję z górnego paska menu ( lub skrót: Command+K
GO -> Connect to Server
I wpisujemy adres IP lub nazwę komputera, np:
smb://192.168.1.11
Pojawi się okienko do autoryzacji, logujemy się wedle potrzeby jako User lub Guest.