Galerie 7
Samba, SFTP i NFS aneb jak na sdílení souborů v Linuxu
i Zdroj: PCTuning s pomocí ChatGPT
Návody Článek Samba, SFTP i NFS aneb jak na sdílení souborů v Linuxu

Samba, SFTP i NFS aneb jak na sdílení souborů v Linuxu

Tomáš Němec

Tomáš Němec

2

Seznam kapitol

1. Samba – sdílení kompatibilní s Windows 2. Samba jako řadič domény 3. Nový klient v doméně 4. SFTP sdílení přes protokol ssh 5. NFS – network file systems 6. Závěr

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.

Reklama

Ú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:

sudo su

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.

sudo -i -u 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ší.

apt-get update
apt install samba

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.

systemctl status smbd.service

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.

adduser --no-create-home --disabled-password --shell /usr/sbin/nologin <uživatelské jméno> 

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:

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = WORKGROUP

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.

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
;   interfaces = 127.0.0.0/8 eth0

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.

#### Debugging/Accounting ####

# This tells Samba to use a separate log file for each machine
# that connects
   log file = /var/log/samba/log.%m

# Cap the size of the individual log files (in KiB).
   max log size = 1000

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.

[printers]
   comment = All Printers
   browseable = no
   path = /var/tmp
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no

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:

Samba, SFTP i NFS aneb jak na sdílení souborů v Linuxu
i Zdroj: PCTuning.cz

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:

[global]
   usershare path = /var/lib/samba/usershares
   usershare max shares = 100
   usershare allow guests = yes

Předchozí
Další
Reklama
Reklama
Reklama
Reklama