Samba, SFTP i NFS aneb jak na sdílení souborů v Linuxu
Seznam kapitol
Podíváme se na sdílení souborů z operačního systému Linux. Projdeme si jejich konfiguraci, některé speciální možnosti a na závěr uděláme rozbor, kdy je vhodné použít jakou možnost.
Úvod
Nejdříve trochu základních instrukcí. V článku budeme pracovat pod uživatelem root. Pokud máme distribuci, kde je definován superuživatel, můžeme se do něho přepnout příkazem.
su root V distribucích, kde není uživatel root nadefinován, získáme tohoto uživatele pomocí příkazu:
|
Tento příkaz zachová aktuální adresář. Simulace přihlášení uživatele Root by potom vypadala takto. Zde se aplikuje nastavení prostředí pro uživatele Root a adresář se přepne na domovský adresář uživatele Root.
|
Samba
Samba zde neznamená tanec, ale protokol sdílení souboru. Je kompatibilní s Windows. Sambu nainstalujeme klasicky podle toho, jakou máme distribuci Linuxu.
Dále následují příkazy pro instalaci Samby. Použiji zde příkazy pro balíčkovací systém deb. Jde například o Ubuntu, Linux Mint, Debian a další.
|
Běh Samby ověříme příkazem. Pokud používáme firewall, povolíme porty 139 a 445. Pokud chceme, aby šlo vyhledávat sdílené adresáře z jiného počítače, doporučuje se povolit i porty 137 138 UDP.
|
Uživatelé Samby musí mít účet v systému. Pro domácí použití stačí prostě založit dalšího uživatele. Ovšem může být i požadavek, aby se uživatel nemohl přímo na serveru přihlásit. Použijeme klasický příkaz pro přidání uživatele, s několika parametry.
|
Podíváme se na parametry:
- --no-create-home Nevytvoří domovský adresář uživatele.
- --disabled-password Nevytvoří heslo uživatele a tím omezí možnost přímého přihlášení do systému.
- --shell přidá uživateli neexistující shell, omezení možnosti přihlášení vzdáleně, např pomocí ssh.
- <uživatelské jméno> Přihlašovací jméno uživatele.
Uživatele máme přidaného v systému a nyní ho přidáme i do Samby. Ne každý uživatel v systému je i uživatelem Samby. Což ovšem opačně neplatí.
smbpasswd -a <uživatelské jméno>
Budeme vyzvání k zadání hesla. Toto heslo je samostatné a nezávislé na heslu uživatele v systému. V případě potřeby odstranění uživatelského účtu Samba použijeme příkaz:
smbpasswd -x <uživatelské jméno>
Na nastavení se podíváme do konfiguračního souboru. V případě Samby je to soubor /etc/samba/smb.config. Vyhledáme si některé základní položky, které by nás mohly zajímat. Nastavují základní chování Samby.
První se podíváme na pracovní skupinu. Výchozí je nastavená klasicky, jako je zvykem u Windows. V případě, že používáte jiné pojmenování své pracovní skupiny, je potřeba změnit:
|
Pokud máte k dispozici více síťových rozhraní, může být zajímavé omezit činnost Samba serveru na konkrétní. Tady je možnost, kde to nastavit.
|
Odstraňte znak ; na posledním řádku, jde o zakomentování řádku, potom není aktivní.Dále tento řádek upravte. Použijte podle parametrů vlastního systému.
interfaces = 192.168.0.170 enp0s3
Pokud chcete změnit místo, kde jsou ukládány logy o činnosti služby, použijte tuto část.
|
Na konci konfiguračního souboru se nachází část, která pojednává přímo o sdílených adresářích. Je zde již nadefinováno nastavení sdílení domovských adresářů uživatelů. Toto nastavení je zakomentováno. Pro použití je potřeba odkomentovat. Také je zde nastaveno sdílení tiskáren. Pokud počítač nepoužíváte jako tiskový server, zakomentujte nebo rovnou odmažte.
|
Nyní se podíváme na nasdílení adresáře. Uděláme si ukázkový příklad, kdy chceme adresář sdílet pro dva uživatele.
[sdileno]
comment = sdileny adresar
path = /media/data
public = yes
writable = yes
valid users = uzivatel_1 uzivatel_2
create mask = 0744
directory mask = 0744
#force user = nobody
#force group = nogroup- Text v závorce určuje označení sdíleného úložiště. Toto se bude zobrazovat jako sdílená složka.
- comment – Je pouze komentář, na nastavení nemá žádný vliv.
- path – Je cesta ke sdílené složce. V příkladu použito nasdílení složky, která je připojena jako další disk.
- public – Určuje, zda složka bude viditelná, pokud dáme zobrazit sdílené složky v síti na jiném zařízení. Pokud určíme, že složka není vidět, je nutno se přímo na tuto složku odkázat v adresním řádku správce souborů při nastavení spojení.
- writable – Určí, zda je složka připojena pro zápis. V případě volby no bude možno soubory jenom číst.
- valid users – Určuje uživatele Samby, kteří mají ke sdílení přístup.
- create mask – Určuje výchozí oprávnění pro vytvářené soubory.
- directory mask – Určuje výchozí oprávnění pro adresáře.
- force user a group – Vynutí vlastnictví souboru na konkrétního uživatele nebo skupinu.
S nastavováním výchozích oprávnění buďte opatrní, jde o bezpečnost, ale i o snadnou správu souborů. Vybírejte rozumně.
Na závěr této kapitoly odpovím na otázku: To je opravdu nutné nastavovat v konfiguračním souboru? Ne, není. Tohle je cesta pro server. Pokud chcete nasdílet soubory na svém počítači s Linuxem, máte možnost tohle provést téměř v každém správci souborů. V prostředí KDE ve správci Dolphin to potom vypadá nějak takto:
Ovšem pozor, jde o uživatelské sdílení. Funguje pouze, pokud je uživatel přihlášen. Toto nastavení není vhodné pro server. Konfigurační soubor najdeme zde:
/var/lib/samba/usershares/Propojení těchto souborů se sambou je potom řešeno pomocí tohoto nastavení v hlavním konfiguračním souboru:
|