sobota, 18 kwietnia 2015

Raspberry Pi Samba - udostępnianie zasobu, prosty serwer NAS

Ostatnio zapragnąłem mieć dostęp do przenośnego dysku z multimediami z każdego miejsca bez zabierania tegoż dysku. Wiele osób odradza wykorzystywanie Raspberry Pi jako serwer NAS. Polecają po prostu podłączenie dysku przez usb do rutera lub kupno dedykowanego serwera. W sumie stwierdziłem, że czemu by nie podłączyć dysku do rutera skoro posiada złączę usb. Zdecydowałem się na to rozwiązanie mimo, że spotkałem się z opiniami, że takie rozwiązanie nie zawsze działa. No i niestety takie rozwiązanie z niewiadomych mi względów powodowało przejściowe problemy z internetem - po prostu co jakiś czas modem rozłączał dostęp. Nie chciało mi się szukać przyczyny czy to firmware rutera czy jakieś problemy z zasilaniem. Po prostu stwierdziłem, że lepiej i szybciej będzie podpiąć dysk pod malinkę i udostępnić zasoby przez Sambe. Dysk który posiadam ma pojemność 2TB ale jest na usb 2. Predkość zapisu i odczytu nie będzie imponująca, ale spokojnie wystarczy do domowego użytku (w sumie do tej pory też wystarczała). Zwłaszcza, że Raspbery Pi nie posiada złącza SATA lub USB3. Jeśli komuś zależy na serwerze NAS z większą wydajnością polecam zapoznanie się z Banana Pi (posiada interfejs SATA). Zaczynamy od podłączenia dysku przez usb do maliny. Sprawdzamy czy Raspbian go widzi i jaka ma nazwę:
sudo fdisk -l
w moim przypadku widać, ze dysk 2TB jest pod /dev/sda1.

U mnie dysk był od razu zamontowany więc użyłem do jego odmontowania następującego polecenia:
umount /dev/sda1
Ponieważ mój dysk zewnętrzy ma system plików NTFS to zainstalowałem:
sudo apt-get install ntfs-3g
W internecie znalazłem informację, że: ntfs-3g for NTFS drives vfat for FAT32 drives ext4 for ext4 drives kolejny krok to założenie folderu gdzie chce zamontować dysk zewnętrzny:
sudo mkdir /media/USBZEWN
i zamontowanie dysku w ustalonym przeze mnie folderze:
sudo mount -t auto /dev/sda1 /media/USBZEWN
Niestety po restarcie raspberry musielibysmy montować dysk od nowa. Aby robiło się to automatycznie należy wyedytować plik /etc/fstab i dopisać na koncu:
/dev/sda1 /media/USBZEWN auto defaults 0 2

Teraz musimy pobrac repozytorium samby:
sudo apt-get install samba samba-common-bin
Robimy kopie i przechodzimy do edycji pliku konfiguracyjnego samby:
sudo cp /etc/samba/smb.conf /etc/samba/backup_smb.conf
sudo nano /etc/samba/smb.conf
W moim przypadku w Share definitions dodałem dwa udziały:
[MEDIA_public]
   commment = Server NAS Public
   path = /media/USBZEWN
   guest ok = yes
   read only = yes

[MEDIA_2TB]
   comment = Dysk zewnetrzny DLNA 2TB
   path = /media/USBZEWN
   create mask = 0777
   directory mask = 0777
   valid users = @users
   force group = users
   public = yes
   browseable = yes
   read only = no
Pierwszy jest tylko readonly czyli tylko do odczytu, ale nie wymaga za to uwierzytelniania. Do drugiego mogą zapisywać, ale tylko wybrani uzytkownicy. Jak ich dodać? Zacznijmy od założenia użytkownika do Raspbiana:
sudo useradd radek
sudo passwd radek
Jesli w konfiguracji Samby ustawiliśmy force group = users to naszego nowego użytkownika musimy dodać do tej grupy "users". Jeśli tego nie zrobimy to windows nie da nam dostępu do udziału:
sudo gpasswd -a radek users
groups radek
Nastepnie musimy dodac użytkownika do samby:
sudo smbpasswd -a radek
UWAGA: logowanie do udzialu bedzie tym hasłem który ustalimy w powyższym kroku. Nie logujemy się na hasło do użytkownika z Raspbiana. Na koniec resetujemy sambe:
sudo service samba restart
Teraz będąc poza domową siecią moge np na laptopie uruchomić OpenVPNa , nastepnie w windowsie wpisać sciezkę \\IP_LOKALNE_RASPBERRY i bedę miał widoczne udziały z Samby.

Brak komentarzy:

Prześlij komentarz