Jak nainstalovat a nakonfigurovat Sambu v systému CentOS 7

Samba je svobodná a otevřená implementace protokolu pro sdílení souborů v síti SMB/CIFS, která umožňuje koncovým uživatelům přístup k souborům, tiskárnám a dalším sdíleným zdrojům.

V tomto návodu si ukážeme, jak nainstalovat Sambu v systému CentOS 7 a nakonfigurovat ji jako samostatný server pro sdílení souborů v různých operačních systémech v síti.

Vytvoříme následující sdílené soubory a uživatele Samby.

Uživatelé:

  • sadmin – Administrátorský uživatel s právy pro čtení a zápis do všech sdílených složek.
  • josh – Běžný uživatel s vlastní soukromou sdílenou složkou.

Sdílená složka:

  • users – Tato sdílená složka bude přístupná všem uživatelům s právy pro čtení a zápis.
  • josh – Tato sdílená složka bude přístupná s právy pro čtení/zápis pouze uživatelům josh a sadmin.

Sdílená složka souborů bude přístupná ze všech zařízení v síti. Později v návodu také poskytneme podrobný návod, jak se připojit k serveru Samba z klientů Linuxu, Windows a MacOS.

Předpoklady #

Než začnete, ujistěte se, že jste přihlášeni do systému CentOS 7 jako uživatel s právy sudo .

Instalace Samby v systému CentOS #

Samba je k dispozici ve standardních repozitářích systému CentOS. Chcete-li ji nainstalovat do systému CentOS, spusťte následující příkaz:

sudo yum install samba samba-client

Po dokončení instalace spusťte služby Samba a povolte jejich automatické spouštění při startu systému:

sudo systemctl start smb.servicesudo systemctl start nmb.service
sudo systemctl enable smb.servicesudo systemctl enable nmb.service

Služba smbd poskytuje služby sdílení souborů a tisku a naslouchá na portech TCP 139 a 445. Nainstalujte ji do systému CentOS. Služba nmbd poskytuje klientům služby pojmenování NetBIOS přes IP a naslouchá na portu UDP 137.

Konfigurace brány firewall #

Teď, když je Samba nainstalována a spuštěna na počítači se systémem CentOS, je třeba nakonfigurovat bránu firewall a otevřít potřebné porty. Za tímto účelem spusťte následující příkazy:

firewall-cmd --permanent --zone=public --add-service=sambafirewall-cmd --zone=public --add-service=samba

Vytvoření uživatelů a adresářové struktury Samby #

Pro snadnější údržbu a flexibilitu budou místo standardních domovských adresářů (/home/user) všechny adresáře a data Samby umístěny v adresáři /samba.

Začněte vytvořením adresáře /samba:

sudo mkdir /samba

Vytvořte novou skupinu s názvem sambashare. Později do této skupiny přidáme všechny uživatele Samby.

sudo groupadd sambashare 

Nastavte vlastnictví skupiny adresáře /samba na sambashare:

sudo chgrp sambashare /samba

Samba používá systém oprávnění uživatelů a skupin Linuxu, ale má vlastní mechanismus ověřování oddělený od standardního ověřování Linuxu. Uživatele vytvoříme pomocí standardního linuxového nástroje useradd a poté nastavíme heslo uživatele pomocí nástroje smbpasswd.

Jak jsme se zmínili v úvodu, vytvoříme běžného uživatele, který bude mít přístup ke své soukromé sdílené složce souborů, a jeden administrátorský účet s přístupem pro čtení a zápis ke všem sdílením na serveru Samba.

Vytvoření uživatelů Samby #

Pro vytvoření nového uživatele s názvem josh použijte následující příkaz:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

Volby useradd mají následující význam:

Vytvořte domovský adresář uživatele a nastavte vlastnictví adresáře na uživatele josh a skupinu sambashare:

sudo mkdir /samba/joshsudo chown josh:sambashare /samba/josh

Následující příkaz přidá do adresáře /samba/josh bit setgid, takže nově vytvořené soubory v tomto adresáři zdědí skupinu nadřazeného adresáře. Tímto způsobem bez ohledu na to, který uživatel vytvoří nový soubor, bude mít tento soubor skupinu-vlastníka sambashare. Pokud například nenastavíte oprávnění adresáře na 2770 a uživatel sadmin vytvoří nový soubor, uživatel josh nebude moci tento soubor číst/zapisovat.

sudo chmod 2770 /samba/josh

Přidejte uživatelský účet josh do databáze Samba nastavením uživatelského hesla:

sudo smbpasswd -a josh

Budete vyzváni k zadání a potvrzení uživatelského hesla.

New SMB password:Retype new SMB password:Added user josh.

Po nastavení hesla povolte účet Samba zadáním:

sudo smbpasswd -e josh
Enabled user josh.

Pro vytvoření dalšího uživatele opakujte stejný postup jako při vytváření uživatele josh.

Dále vytvoříme uživatele a skupinu sadmin. Všichni členové této skupiny budou mít oprávnění správce. Pokud později budete chtít udělit oprávnění správce jinému uživateli, jednoduše jej přidejte do skupiny sadmin.

Vytvořte uživatele správce zadáním příkazu:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

Výše uvedený příkaz také vytvoří skupinu sadmin a přidá uživatele do obou skupin sadmin a sambashare.

Zadejte heslo a povolte uživatele:

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

Dále vytvořte sdílený adresář Users:

sudo mkdir /samba/users

Nastavte vlastnictví adresáře na uživatele sadmin a skupinu sambashare:

sudo chown sadmin:sambashare /samba/users

Tento adresář bude přístupný všem ověřeným uživatelům. Následující příkaz nastaví přístup k zápisu/čtení pro členy skupiny sambashare v adresáři /samba/users:

sudo chmod 2770 /samba/users

Konfigurace sdílení Samba #

Otevřete konfigurační soubor Samba a přidejte sekce:

sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf

Volby mají následující význam:

  • a – Názvy sdílených složek, které budete používat při přihlašování.
  • path – Cesta ke sdílené složce.
  • browseable – Zda má být sdílená složka uvedena v seznamu dostupných složek. Nastavením na no nebudou moci ostatní uživatelé sdílenou složku vidět.
  • read only – Zda uživatelé uvedení v seznamu valid users mohou do této sdílené složky zapisovat.
  • force create mode – Nastavuje oprávnění pro nově vytvořené soubory v této sdílené složce.
  • force directory mode – Nastavuje oprávnění pro nově vytvořené adresáře v této sdílené složce.
  • valid users – Seznam uživatelů a skupin, kteří mají přístup k této sdílené složce. Skupiny mají předponu @.

Další informace o dostupných možnostech najdete na stránce s dokumentací ke konfiguračnímu souboru Samba.

Po dokončení restartujte služby Samba pomocí:

sudo systemctl restart smb.servicesudo systemctl restart nmb.service

V následujících částech si ukážeme, jak se připojit ke sdílené složce Samba z klientů Linux, MacOS a Windows.

Připojení ke sdílené složce Samba ze systému Linux #

Uživatelé systému Linux mohou ke sdílené složce Samba přistupovat z příkazového řádku, pomocí správce souborů nebo připojit sdílenou složku Samba.

Použití klienta smbclient #

smbclient je nástroj, který umožňuje přistupovat ke službě Samba z příkazového řádku. Balíček smbclient není ve většině linuxových distribucí předinstalován, takže jej budete muset nainstalovat pomocí správce balíčků vaší distribuce.

Pro instalaci smbclient v Ubuntu a Debianu spusťte:

sudo apt install smbclient

Pro instalaci smbclient v CentOS a Fedoře spusťte:

sudo yum install samba-client

Syntaxe pro přístup ke sdílené složce Samba je následující:

mbclient //samba_hostname_or_server_ip/share_name -U username

Příklad pro připojení ke sdílené složce s názvem josh na serveru Samba s IP adresou 192.168.121.118 jako uživatel josh spustíte:

smbclient //192.168.121.118/josh -U josh

Budete vyzváni k zadání uživatelského hesla.

Enter WORKGROUP\josh's password:

Po zadání hesla budete přihlášeni do rozhraní příkazového řádku Samba.

Try "help" to get a list of possible commands.smb: \>

Připojení sdílené složky Samba #

Pro připojení sdílené složky Samba v systému Linux musíte nejprve nainstalovat balíček cifs-utils.

V Ubuntu a Debianu spusťte:

sudo apt install cifs-utils

V CentOS a Fedoře spusťte:

sudo yum install cifs-utils

Poté vytvořte přípojný bod:

sudo mkdir /mnt/smbmount

Připojte sdílené místo pomocí následujícího příkazu:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Příklad pro připojení sdílené složky s názvem josh na serveru Samba s IP adresou 192.168.121.118 jako uživatel josh k přípojnému bodu /mnt/smbmount spustíte:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Budete vyzváni k zadání uživatelského hesla.

Password for josh@//192.168.121.118/josh: ********

Pomocí grafického uživatelského rozhraní #

Soubory, výchozí správce souborů v prostředí Gnome má zabudovanou možnost přístupu ke sdílené složce Samba.

  1. Otevřete Soubory a v postranním panelu klikněte na „Další umístění“.
  2. V položce „Připojit k serveru“ zadejte adresu sdílené složky Samba v následujícím formátu smb://samba_hostname_or_server_ip/sharename.
  3. Klikněte na „Připojit“ a zobrazí se následující obrazovka:

  4. Zvolte „Registered User“, zadejte uživatelské jméno a heslo Samba a klikněte na „Connect“.
  5. Zobrazí se soubory na serveru Samba.

Připojení ke sdílené složce Samba ze systému macOS #

V systému macOS můžete ke sdílené složce Samba přistupovat buď z příkazového řádku, nebo pomocí výchozího správce souborů systému macOS Finder. Následující kroky ukazují, jak přistupovat ke sdílené složce pomocí nástroje Finder.

  1. Otevřete „Finder“, vyberte „Go“ a klikněte na „Connect To“.
  2. V „Connect To“ zadejte adresu sdílené složky Samba v následujícím formátu smb://samba_hostname_or_server_ip/sharename.

  3. Klikněte na „Připojit“ a zobrazí se následující obrazovka:

  4. Zvolte „Registered User“, zadejte uživatelské jméno a heslo Samba a klikněte na „Připojit“.
  5. Zobrazí se soubory na serveru Samba.

Připojení ke sdílené složce Samba ze systému Windows #

Uživatelé systému Windows mají také možnost připojit se ke sdílené složce Samba z příkazového řádku i grafického rozhraní. Následující kroky ukazují, jak přistupovat ke sdílené složce pomocí Průzkumníka souborů systému Windows.

  1. Otevřete Průzkumníka souborů a v levém podokně klikněte pravým tlačítkem myši na „Tento počítač“.
  2. Zvolte „Zvolit vlastní síťové umístění“ a poté klikněte na „Další“.
  3. V položce „Internetová nebo síťová adresa“ zadejte adresu sdílené složky Samba v následujícím formátu \samba_hostname_or_server_ip\sharename.

  4. Klikněte na „Další“ a budete vyzváni k zadání přihlašovacích údajů, jak je uvedeno níže:

  5. V dalším okně můžete zadat vlastní název síťového umístění. Výchozí bude převzat serverem Samba.

  6. Klepnutím na „Další“ přejdete na poslední obrazovku průvodce nastavením připojení.
  7. Klepněte na „Dokončit“ a zobrazí se soubory na serveru Samba.

Závěr #

V tomto návodu jste se naučili nainstalovat server Samba v systému CentOS 7 a vytvořit různé typy sdílených a uživatelů. Ukázali jsme si také, jak se k serveru Samba připojit ze zařízení se systémy Linux, MacOS a Windows.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.