Raspberry Pi a zdieľanie súborov cez sieť (samba)

Základom každého NAS servera (a teda aj toho nášho postavenom na Raspberry Pi) je sprístupnenie adresárov / súborov cez sieť pre ostatné počítače. V Linuxe sa na tento účel používa SAMBA.

Samba je linuxová implementácia SMB/CIFS protokolu určeného na zdieľanie súborov, ktorý je štandardne používaný najmä vo Windows svete. Pomocou Samby môžete prenášať cez dátovú sieť súbory / adresáre medzi Raspberry a ostatnými počítačmi (Win/Apple) a tiež aj inými zariadeniami (mobily, hracie konzoly a pod.).

Cieľom tohto návodu bude vytvorenie zdieľaného adresára na ukladanie fotiek a filmov, ktorý sprístupníme pre ostatných používateľov v LAN sieti:

  • Na čítanie pre všetkých návštevníkov – bez nutnosti zadávania hesla.
  • Na zápis pre vybraných používateľov – s použitím prístupového mena a hesla.

Inštalácia Samby z repozitáru

Samba je dostupná v rámci štandardných softvérových Raspbian repozitárov. Pred samotnou inštaláciou si nezabudnite Raspbian aktualizovať:

pi@NASKO:~ $ sudo apt-get update
pi@NASKO:~ $ sudo apt-get upgrade
pi@NASKO:~ $ sudo apt-get install samba samba-common-bin

Vytvorenie zdieľaného adresára

Keďže tento návod je pokračovaním postupu ako vytvoriť na Raspberry domáce NAS, náš hlavný zdieľaný adresár vytvoríme na externom USB disku, ktorý máme namountovaný pod /mnt/data1/ – pozri návod na inštaláciu disku na Raspberry Pi. Ako cieľový podadresár pre zdieľanie vytvoríme priečinok Multimedia, ktorému zároveň nastavíme oprávnenie na zápis pre všetkých:

pi@NASKO:~ $ sudo mkdir /mnt/data1/Multimedia
pi@NASKO:~ $ sudo chmod 777 /mnt/data1/Multimedia

Konfigurácia Samby

Konfigurácia Samby je štandardne uložená v súbore /etc/samba/smb.conf. Predtým, ako do neho začneme babrať, urobíme si z neho kópiu. Následne si ho otvoríme na editáciu:

pi@NASKO:/ $ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
pi@NASKO:/ $ sudo nano /etc/samba/smb.conf

Konfiguračný súbor smb.conf je trošku dlhší ako sme čakali ;-). Vysvetľovať všetky jeho parametre je nad rámec tohto basic návodu, takže mám takýto návrh – celý jeho obsah nahraďte podľa nasledovného vzoru, ktorý mne zaručene funguje:

[global]
netbios name = NASKO
workgroup = WORKGROUP
dns proxy = no
logging = syslog@1 /var/log/samba/log.%m
max log size = 1000
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes

#======================= Share Definitions =======================
[Multimedia]
  path = /mnt/data1/Multimedia
  browsable = yes
  guest ok = yes
  read only = yes
  write list = gendzo
  create mask = 0755

Prvá časť textu (označená ako „Global“) je prenesená z predinštalovaného konfig súboru. Vašou úlohou je nastaviť netbios name – pod akým názvom má byť vaše NAS viditeľné v sieti a zvoliť správnu workgroup – takú ako máte nastavenú na ostatných PC v sieti.

V druhej časti konfiguráku označenej ako Share Definitions nastavíme konkrétne parametre nášho zdieľaného adresára. Parameter guest ok znamená, že adresár /mnt/data1 bude defaultne prístupný pre všetkých používateľov (bez hesla) a to na čítanie – read only. Okrem toho bude existovať jeden používateľ s menom gendzo, ktorý bude mať prístup aj na zápis.

Toto je základná minimalistická konfigurácia, ktorá spĺňa naše zadanie z úvodu článku – vytvorenie zdieľaného adresára na ukladanie fotiek a filmov, pričom jeden user súbory na zdieľaný disk ukladá, ostatní ich len konzumujú. V prípade, ak sa v tom chcete viac bahniť, dávam do pozornosti kompletný samba konfig manuál.

Pridanie používateľa

Aby nám táto maškaráda naozaj fungovala, musíme zabezpečiť ešte jednu vec – vytvoriť používateľa gendzo, ktorý bude mať prístup na zápis. Všimnite si jednu vec – používateľa je nutné pridať zvlášť ako používateľa Raspbianu a zvlášť aj ako používateľa Samby.

pi@NASKO:/ $ sudo useradd gendzo -m -G users
pi@NASKO:/ $ sudo passwd gendzo
pi@NASKO:/ $ sudo smbpasswd -a gendzo

Reštart a skúška správnosti

Pred otestovaním musíme vykonať ešte jednu vec – reštart. Nie je potrebné reštartovať celý server, stačí reštart služby samba, z dôvodu aby si táto načítala novú konfiguráciu:

pi@NASKO:/ $ sudo service smbd restart

Skúšku správnosti vykonáte tak, že si vo Windowse otvoríte klasický Explorer (Priezkumník) a do vrchného riadku napíšte \\NASKO. Mal by sa vám hneď ukázať adresár Multimedia, v ktorom nájdete sprístupnený obsah /mnt/data1 z vášho Raspberry. Tento prístup je bez hesla (t.j. iba na čítanie).

Pripojenie zdieľaného adresára z Raspberry Pi úložiska.

Prístup na zápis overíte tak, že sa pokúsite namapovať adresár Multimedia ako sieťový disk. Kliknite na priečinok Multimedia pravý tlačidlom myši a vyberte možnosť Map network drive… (Pripojiť sieťovú jednotku…).

Prístup na zápis (po zadaní správneho prihlasovacieho mena / hesla) overíme vytvorením nového adresára.

Testované na verzii Raspbian Stretch Lite – Linux version 4.19.57-v7+


Použitá fotografia: upload-online-internet-files-cloud / Autor: Mudassar Iqbal / Licencia: Pixabay License

Gendzo

Cez deň pracujem ako IT manažéris. Po nociach robím vlastné web stránky a píšem články. Rád varím, cestujem a lúštim hlavolamy. Vo voľnom čase cvičím power jogu, čítam knihy a hľadám geokešky. A som šťastný majiteľ jednej skvelej manželky a dvoch detí k tomu. www.gendzo.sk/autor/gendzo-macher

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Táto webová stránka používa Akismet na redukciu spamu. Získajte viac informácií o tom, ako sú vaše údaje z komentárov spracovávané.