Samba to jednej najlepszych sposób na tworzenie dysku sieciowego na naszej malinie jednak nie jedyny. Ten rodzaj dysku będzie widoczny przez większość urządzeń które obsługują protokół SMB (systememy operacyjne typu Linux, Windows jak i OS X ). W moim przypadku Raspberrypi służy jako odtwarzacz multimedialny więc kopiowanie plików w sposób szybki jest mi potrzebne, wiadomo, że można też udostępniać jakiś folder lub dysk podpięty do maliny. Dobra skończmy z moim gadaniem lecimy do konkretów.
Instalacja SAMBY
Na początek trzeba by zainstalować samą sambę, wykonujemy to poleceniem:
sudo apt install samba samba-common-bin
Po instalacji dodajemy użytkownika który będzie miał uprawnienia do logowanie się do samby oraz hasło. W tym przypadku posługuję się nazwą „pi” jeżeli używasz innej zmień na własną.
sudo smbpasswd -a pi
Z racji tego, że za moment będziemy dokonywać zmian w pliku konfiguracyjnym zalecam wykonać jego kopie. Wykonacie to poleceniem
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Teraz przechodzimy do konfiguracji, w tym celu edytujemy
sudo nano /etc/samba/smb.conf
parę opcji mamy do poprawy jak i do dodania
zmieniamy w sekcji [homes]
read only = yes
na read only = no
Dzięki tej zmianie będziesz mógł wgrać pliki do katalogu SMB a nie tyko odczytać.
W kolejnym etapie dodamy foldery foldery / dyski które chcemy aby były udostępnione, na końcu pliku dodajemy.
dla folderu
[samba]
comment = Public Storage
path = /home/pi/samba
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no
dla dysku o nazwie FE45-E0F7
[samba-dysk]
comment = Public Storage
path = /media/pi/FE45-E0F7
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no
Witam
Udało się uruchomić sambę zgodnie z instrukcją, dostaję się do usługi ale po wyborze udziału samba lub samba-dysk nie powiodła się autentykacja.
Próbowałem wyświetlić użytkowników i stworzyć nowego ale otrzymuję informacje jak niżej.
root@raspberrypi:/usr/bin# ./samba-tool user list
ltdb: tdb(/var/lib/samba/private/sam.ldb): tdb_open_ex: could not open file /var/lib/samba/private/sam.ldb: No such file or directory
Unable to open tdb '/var/lib/samba/private/sam.ldb’: No such file or directory
Failed to connect to 'tdb:///var/lib/samba/private/sam.ldb’ with backend 'tdb’: Unable to open tdb '/var/lib/samba/private/sam.ldb’: No such file or directory
ERROR(ldb): uncaught exception – Unable to open tdb '/var/lib/samba/private/sam.ldb’: No such file or directory
File „/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py”, line 177, in _run
return self.run(*args, **kwargs)
File „/usr/lib/python2.7/dist-packages/samba/netcmd/user.py”, line 527, in run
credentials=creds, lp=lp)
File „/usr/lib/python2.7/dist-packages/samba/samdb.py”, line 64, in __init__
options=options)
File „/usr/lib/python2.7/dist-packages/samba/__init__.py”, line 115, in __init__
self.connect(url, flags, options)
File „/usr/lib/python2.7/dist-packages/samba/samdb.py”, line 79, in connect
options=options)
root@raspberrypi:/usr/bin# ./samba-tool user create
Usage: samba-tool user create [] [options]
root@raspberrypi:/usr/bin# ./samba-tool user create pi sambapi
ltdb: tdb(/var/lib/samba/private/sam.ldb): tdb_open_ex: could not open file /var/lib/samba/private/sam.ldb: No such file or directory
Unable to open tdb '/var/lib/samba/private/sam.ldb’: No such file or directory
Failed to connect to 'tdb:///var/lib/samba/private/sam.ldb’ with backend 'tdb’: Unable to open tdb '/var/lib/samba/private/sam.ldb’: No such file or directory
ERROR(ldb): Failed to add user 'pi’: – Unable to open tdb '/var/lib/samba/private/sam.ldb’: No such file or directory
Tu masz odpowiedz „No such file or directory” czyli brak katalogu lub brak uprawnień.
Ehh, toć nie było folderów w systemie RPi. Utworzyłem je i jest ok 🙂