Nastavení NAS - Samba

13.5.2023 Turris Omnia

Než začneme nastavovat domácí NAS, potřebujeme mít k routeru připojený disk, buď mSATA SSD disk do routeru, nebo nějaký jiný disk připojený přes USB. Disk by měl být naformátovaný a namountovaný.

Předtím, než budeme cokoli dělat s disky, je potřeba nainstalovat balíčky k tomu určené, pokud ještě nemáme (jinak budou problémy). V reForis se jde do Správa balíčků → Balíčky a zaškrtne se Samba:

Balíčky NAS a Samba.jpg

Dole na stránce se potvrdí Uložit a je třeba chvíli vyčkat, než se balíčky stáhnou a nainstalují. Ve chvíli kdy je to hotovo, vpravo nahoře se zobrazí notifikace (“zvoneček”).

Dále zapneme Sambu (to je software, který má nastarosti sdílení). V LuCI Systém → Po spuštění najdeme Samba4 a v tomto řádku klikneme na Zakázáno (přepne se tím na Zapnuto) a ve stejném řádku klikneme na Start.

Router restartujeme Správa→Údržba→Restartovat.

Ve formuláři níže si můžete nastavit vlastní názvy uživatelů a dalších hodnot, takže veškeré příkazy můžete rovnou kopírovat a vkládat:
Nastavení proměnných

Teď je potřeba se zamyslet nad tím, k čemu síťové úložiště chceme použít a jak to bude s uživateli a jejich právy. To je samozřejmě dost individuální. Na svém příkladu ukáži snad dost širokou paletu možností. Budu mít dva uživatele user1 a user2. Každý bude mít vlastní složku a jedna sdílená složka bude na media, ta bude přístupná i pro hosty. Pro zjednodušení pro tento článek bude na stejném disku, v praxi bude pravděpodobně na nějakém usb disku s vysokou kapacitou.

Začneme v terminálu, připojíme se na router a přihlásíme se.

ssh root@192.168.1.1

Zde nás čeká vytváření uživatelů.Takto vytvoříme uživatele user1. Tyto uživatele vytváříme jen pro potřeby Samby, takže bez domovského adresáře, bez hesla a ve skupině users:

useradd --home-dir /var --gid users --no-create-home --shell /bin/false user1

Stejně vytvoříme i uživatele user2:

useradd --home-dir /var --gid users --no-create-home --shell /bin/false user2

Každému uživateli vytvoříme heslo do Samby:

smbpasswd -a user1
smbpasswd -a user2

Pokračujeme vytvořením složek na našem disku (ten už máme namountovaný) v /mnt/ssd

Já si vytvořím na disku složku users a v ní vytvořím složky pro jednotlivé uživatele:

mkdir /mnt/ssd/users
mkdir /mnt/ssd/users/user1 /mnt/ssd/users/user2

Podíváme se do adresáře ssd a vypíšeme si jeho obsah:

cd /mnt/ssd/
ls -l
root@turris:/mnt/ssd/users# ls -l
drwxr-xr-x    6 root   root         4096 Jul  4 18:26 user1
drwxr-xr-x    5 root   root         4096 Jul  4 08:58 user2

Zde vidíme vlastníka root, toho u kořenové složky nechám, protože v této složce bude jenom předem vytvořená struktura bez možnosti ji (třeba omylem) měnit nebo smazat. Některé složky budou pro budoucí aplikace – např. Transmission na stahování torrentů nebo pyLoad na stahování z download serverů. Tyto jednotlivé složky už práva na zápis mít budou. Vytvoříme si strukturu pro uživatele user1:

cd user1
mkdir Private Downloads Shared Torrents
A změnímě vlastníka na user1 a group users:
chown user1:users -R /mnt/ssd/users/user1/
chown root:root /mnt/ssd/users/user1/

Teď je potřeba přidělit každé složce práva podle potřeby. Složka Private bude úložiště jen pro uživatele user1, tedy:

chmod 700 Private/

Kromě složky Shared, tam budou moci přistupovat i guest uživatelé, změnímě práva na čtení prouze pro group users (Může tam na čtení jiný zaregistrovaný user, ale ne guest):

chmod 750 Torrents/ Downloads/

Zkontrolujeme:

ls -l 

by mělo vyhodit toto:

root@turris:/mnt/ssd/users/user1# ls -l
drwx------    2 user1    users         4096 Jul  4 18:28 Private
drwxr-x---    3 user1    users         4096 Jul  4 20:26 Downloads
drwxr-xr-x    2 user1    users         4096 Jul  4 20:23 Shared
drwxr-x---    2 user1    users         4096 Jul  4 19:07 Torrents

Obdobně vytvoříme adresáře i pro uživatele user2.

Potom si v /mnt/ssd/ vytvoříme složku media, která bude sloužit ke sdílení médií. Přímo v kořenové složce bude předem daná struktura adresářů (filmy, seriály, …) a do nich už budou moci zapisovat všichni registrovaní uživatelé:

mkdir /mnt/ssd/media
cd /mnt/ssd/media
mkdir Filmy/ Seriály/ Dokumenty/ Muzika/ Audio/
chown root:users Filmy/ Seriály/ Dokumenty/ Muzika/ Audio/
chmod -R 775 Filmy/ Seriály/ Dokumenty/ Muzika/ Audio/

A nyní nastavení sdílení. Přihlásíme se do LuCI a jdeme do sekce SlužbySíťová sdílení. V obecném nastavení vybereme Rozhraní lan a zaškrtneme Povolit starší (nezabezpečené) protokoly/autentizaci.

Ve Sdílené adresáře klikneme na Přidat. Nejdříve složka pro uživatele user1 – Název: user1, Cesta: /mnt/ssd/user1, zbytek je vidět na obrázku. Přidáme další – Název: user2, Cesta: /mnt/ssd/user2 a poslední Název: media, Cesta: /mnt/ssd/media. Do VFS objekty všude vyplnit btrfs. Další nastavíme podle obrázku, pozor na rozdílné masky pro users a media:

Síťová sdílení

Nakonec klikneme na Uložit & použít. Teď je čas restartovat router a jít si na kafíčko. Vše by mělo být funkční.

Připojení síťových složek

Ve Windows v průzkumníku souborů můžete zadat:

\\192.168.1.1

Po přihlášení jako jeden z uživatelů můžete brouzdat složkami a zkoušet kam to pustí / nepustí (tak jak jsme si nakonfigurovali). Nejlepší je si připojit síťový disk - klikne se pravým tlačítkem na Tento počítač a vybrat v menu Připojit síťovou jednotku... Například vybereme jednotku M: a do Složka vložíme:

\\192.168.1.1\media

Takto se nám disk připojí na stálo. Obdobně si nastavíme další jednotku pro osobní složku jednotlivého uživatele.

Na linuxu do file manageru napíšeme (většina by měla podporovat protokol smb):

smb://192.168.1.1/

A můžeme brouzdat síťovými složkami. Lepší je si složku namountovat (mount obvykle funguje lépe - rychlejší přenos dat). Zde dávám jednoduchý postup na jednorázový mount na Ubuntu forcích - předpokládám uživatele na desktopu desktopuser, který si namountuje disk media jako user1:

sudo apt install cifs-utils
sudo mkdir /media/desktopuser/NAS
sudo chown desktopuser:desktopuser /media/desktopuser/NAS/
sudo mount -t cifs //192.168.1.1/media /media/desktopuser/NAS -o username=user1,uid=desktopuser

Automatický mount při spuštění nastavíme buď ve fstab, nebo vytvoříme spouštěcí skript.


Komentáře

Vložit komentář

Odpovědět

Vyplňte prosím antispam