GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

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

Tento tutoriál vysvětluje, jak nainstalovat Sambu na Ubuntu 18.04 a nakonfigurovat ji jako samostatný server pro sdílení souborů napříč různými operačními systémy přes síť.

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

Uživatelé:

  • sadmin – Administrativní uživatel s přístupem pro čtení a zápis ke všem sdíleným složkám.
  • josh - Běžný uživatel s vlastním soukromým sdílením souborů.

Sdílí:

  • uživatelé – Tato sdílená složka bude přístupná všem uživatelům s oprávněním ke čtení/zápisu.
  • josh - Tato sdílená složka bude přístupná s oprávněními pro čtení/zápis pouze uživatelům josh a sadmin.

Sdílené soubory budou dostupné ze všech zařízení ve vaší síti. Později v tomto tutoriálu také poskytneme podrobné pokyny, jak se připojit k serveru Samba z klientů Linux, Windows a macOS.

Předpoklady #

Než budete pokračovat, ujistěte se, že jste přihlášeni do svého systému Ubuntu 18.04 jako uživatel s právy sudo.

Instalace Samby na Ubuntu #

Samba je dostupná z oficiálních repozitářů Ubuntu. Chcete-li jej nainstalovat do systému Ubuntu, postupujte podle následujících kroků:

  1. Začněte aktualizací indexu balíčků apt:

    sudo apt update
  2. Nainstalujte balíček Samba pomocí následujícího příkazu:

    sudo apt install samba
  3. Po dokončení instalace se služba Samba automaticky spustí. Chcete-li zkontrolovat, zda server Samba běží, zadejte:

    sudo systemctl status smbd

    Výstup by měl vypadat nějak takto, což znamená, že služba Samba je aktivní a běží:

    ● smbd.service - Samba SMB Daemon
       Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago
         Docs: man:smbd(8)
               man:samba(7)
               man:smb.conf(5)
     Main PID: 15142 (smbd)
       Status: "smbd: ready to serve connections..."
        Tasks: 4 (limit: 1152)
       CGroup: /system.slice/smbd.service
    ...

V tomto okamžiku je Samba nainstalována a připravena ke konfiguraci.

Konfigurace brány firewall #

Pokud máte na svém systému Ubuntu spuštěnou bránu firewall, budete muset povolit příchozí připojení UDP na portech 137 a 138 a TCP spojení na portech 139 a 445 .

Za předpokladu, že používáte UFW pro správu firewallu můžete porty otevřít povolením profilu „Samba“:

sudo ufw allow 'Samba'

Konfigurace globálních možností Samby #

Před provedením změn v konfiguračním souboru Samba vytvořte zálohu pro budoucí referenční účely:

sudo cp /etc/samba/smb.conf{,.backup}

Výchozí konfigurační soubor dodávaný s balíčkem Samba je nakonfigurován pro samostatný server Samba. Otevřete soubor a ujistěte se, že server role je nastaven na standalone server

sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
...
# Most people will want "standalone sever" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
   server role = standalone server
...

Ve výchozím nastavení Samba naslouchá na všech rozhraních. Pokud chcete omezit přístup k serveru Samba pouze z vaší interní sítě, odkomentujte následující dva řádky a určete rozhraní, ke kterým se chcete připojit:

/etc/samba/smb.conf
...
# 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

# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself.  However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
bind interfaces only = yes
...

Po dokončení spusťte testparm nástroj pro kontrolu chyb v konfiguračním souboru Samba. Pokud nejsou žádné syntaktické chyby, zobrazí se Loaded services file OK.

Nakonec restartujte služby Samba pomocí:

sudo systemctl restart smbdsudo systemctl restart nmbd

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

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

Chcete-li vytvořit /samba typ adresáře:

sudo mkdir /samba

Nastavte vlastnictví skupiny na sambashare . Tato skupina je vytvořena během instalace Samby, později do této skupiny přidáme všechny uživatele Samby.

sudo chgrp sambashare /samba

Samba používá linuxové uživatele a systém skupinových oprávnění, ale má svůj vlastní ověřovací mechanismus oddělený od standardní linuxové autentizace. Uživatele vytvoříme pomocí standardního linuxového useradd a poté pomocí smbpasswd nastavte uživatelské heslo utility.

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

Vytváření uživatelů Samby #

Chcete-li vytvořit 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

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

  • -M -nevytvářejte domovský adresář uživatele. Tento adresář vytvoříme ručně.
  • -d /samba/josh - nastavte domovský adresář uživatele na /samba/josh .
  • -s /usr/sbin/nologin - zakázat tomuto uživateli přístup k shellu.
  • -G sambashare - přidejte uživatele do sambashare skupina.

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

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

Následující příkaz přidá bit setgid do /samba/josh adresář, 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 soubor skupinového vlastníka sambashare . Pokud například nenastavíte oprávnění adresáře na 2770 a sadmin uživatel vytvoří nový soubor uživatel josh nebude moci číst/zapisovat do tohoto souboru.

sudo chmod 2770 /samba/josh

Přidejte josh uživatelský účet 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.

Jakmile je heslo nastaveno pro aktivaci účtu Samba, spusťte:

sudo smbpasswd -e josh
Enabled user josh.

Chcete-li vytvořit 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 ho přidejte do sadmin skupina.

Vytvořte administrátora zadáním:

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

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

Nastavte heslo a povolte uživatele:

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

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

sudo mkdir /samba/users

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

sudo chown sadmin:sambashare /samba/users

Tento adresář bude přístupný všem ověřeným uživatelům. Následující chmod příkaz poskytuje přístup pro zápis/čtení členům sambashare skupině v /samba/users adresář:

sudo chmod 2770 /samba/users

Konfigurace sdílení Samba #

Otevřete konfigurační soubor Samby a připojte části:

sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
[users]
    path = /samba/users
    browseable = yes
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = @sambashare @sadmin

[josh]
    path = /samba/josh
    browseable = no
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = josh @sadmin

Možnosti mají následující význam:

  • [users] a [josh] - Názvy sdílených položek, které budete používat při přihlašování.
  • path – Cesta ke sdílení.
  • browseable - Zda má být podíl uveden v seznamu dostupných podílů. Nastavením na no ostatní uživatelé nebudou moci sdílení zobrazit.
  • read only - Zda uživatelé zadali v valid users seznam může zapisovat do tohoto sdílení.
  • force create mode - Nastaví oprávnění pro nově vytvořené soubory v této sdílené složce.
  • force directory mode - Nastaví oprávnění pro nově vytvořené adresáře v této sdílené složce.
  • valid users - Seznam uživatelů a skupin, které mají povolen přístup ke sdílené složce. Skupiny mají předponu @ symbol.

Další informace o dostupných možnostech naleznete na stránce dokumentace konfiguračního souboru Samba.

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

sudo systemctl restart smbdsudo systemctl restart nmbd

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

Připojení ke sdílení Samba z Linuxu #

Uživatelé Linuxu 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řístup k Sambě z příkazového řádku. smbclient Balíček není na většině linuxových distribucí předinstalován, takže jej budete muset nainstalovat pomocí správce distribučních balíčků.

Chcete-li nainstalovat smbclient na Ubuntu a Debianu spusťte:

sudo apt install smbclient

Chcete-li nainstalovat smbclient na 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

Napří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 běželi byste:

smbclient //192.168.121.118/josh -U josh

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

Enter WORKGROUP\josh's password: 

Jakmile zadáte heslo, budete přihlášeni do rozhraní příkazového řádku Samba.

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

Montáž sdílení Samba #

Chcete-li připojit sdílení Samba v systému Linux, musíte nejprve nainstalovat cifs-utils balíček.

Na Ubuntu a Debianu spusťte:

sudo apt install cifs-utils

Na CentOS a Fedoře spusťte:

sudo yum install cifs-utils

Dále vytvořte přípojný bod:

sudo mkdir /mnt/smbmount

Připojte sdílenou složku pomocí následujícího příkazu:

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

Chcete-li například připojit sdílenou složku s názvem josh na serveru Samba s IP adresou 192.168.121.118 jako uživatel josh do /mnt/smbmount přípojný bod, který byste spustili:

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

Použití GUI #

Soubory, výchozí správce souborů v Gnome má vestavěnou možnost přístupu ke sdílení Samba.

  1. Otevřete Soubory a klikněte na „Další umístění“ na postranním panelu.
  2. V části „Připojit k serveru“ zadejte adresu sdílení 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. Vyberte „Registrovaný uživatel“, zadejte uživatelské jméno a heslo Samba a klikněte na „Připojit“.
  5. Zobrazí se soubory na serveru Samba.

Připojení k Samba Share z macOS #

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

  1. Otevřete „Finder“, vyberte „Go“ a klikněte na „Connect To“.
  2. Do pole „Připojit k“ zadejte adresu sdílení 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. Vyberte „Registrovaný uživatel“, zadejte uživatelské jméno a heslo Samba a klikněte na „Připojit“.
  5. Zobrazí se soubory na serveru Samba.

Připojení k Samba Share ze systému Windows #

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

  1. Otevřete Průzkumníka souborů a v levém podokně klikněte pravým tlačítkem na „Tento počítač“.
  2. Vyberte „Vybrat vlastní síťové umístění“ a poté klikněte na „Další“.
  3. Do pole „Internetová nebo síťová adresa“ zadejte adresu sdílení 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 umístění v síti. Výchozí nastavení bude vyzvednuto serverem Samba.
  6. Kliknutím na tlačítko „Další“ se přesunete na poslední obrazovku průvodce nastavením připojení.
  7. Klikněte na „Dokončit“ a zobrazí se soubory na serveru Samba.

Ubuntu
  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat sambu na Ubuntu linux?

  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Askbot na Ubuntu 16.04

  1. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 14.04

  2. Jak nainstalovat a nakonfigurovat Solr 6 na Ubuntu 16.04

  3. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 16.04