Android

Jak nainstalovat a nakonfigurovat sambu na Ubuntu 18.04

Připojení sdílené složky Windows v Ubuntu 18.04 server

Připojení sdílené složky Windows v Ubuntu 18.04 server

Obsah:

Anonim

Samba je bezplatná a open-source re-implementace SMB / CIFS protokolu sdílení souborů v síti, který umožňuje koncovým uživatelům přístup k souborům, tiskárnám a jiným sdíleným prostředkům.

Tento tutoriál vysvětluje, jak nainstalovat Sambu na Ubuntu 18.04 a nakonfigurovat jej 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é položky a uživatele Samba.

Uživatelé:

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

Akcie:

  • users - k této sdílené položce budou mít přístup všichni uživatelé. josh - Tato sdílená složka bude přístupná s oprávněními ke čtení a zápisu pouze uživateli josh a sadmin.

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

Předpoklady

Před pokračováním se ujistěte, že jste přihlášeni k systému Ubuntu 18.04 jako uživatel s právy sudo.

Instalace Samby na Ubuntu

Samba je k dispozici v oficiálních repozitářích Ubuntu. Chcete-li jej nainstalovat do systému Ubuntu, postupujte takto:

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

    sudo apt update

    Nainstalujte balíček Samba pomocí následujícího příkazu:

    sudo apt install samba

    Po dokončení instalace se služba Samba spustí automaticky. Chcete-li zkontrolovat, zda je spuštěn server Samba, zadejte:

    sudo systemctl status smbd

    Výstup by měl vypadat jako níže, což znamená, že služba Samba je aktivní a spuštěná:

    ● 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 byla Samba nainstalována a připravena ke konfiguraci.

Konfigurace brány firewall

Za předpokladu, že ke správě brány firewall používáte UFW , můžete otevřít porty povolením profilu „Samba“:

sudo ufw allow 'Samba'

Konfigurace globálních možností Samba

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 nastavena 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 poslouchá všechna rozhraní. Pokud chcete omezit přístup k serveru Samba pouze ze své interní sítě, odkomentujte následující dva řádky a určete rozhraní, na která se chcete navázat:

/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 nástroj testparm a zkontrolujte chyby v konfiguračním souboru Samba. Pokud neexistují žádné chyby syntaxe, zobrazí se Loaded services file OK.

Nakonec restartujte služby Samba pomocí:

sudo systemctl restart smbd sudo systemctl restart nmbd

Vytváření uživatelů Samba a struktury adresářů

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

Vytvoření typu adresáře /samba :

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á Linux uživatele a systém skupinových oprávnění, ale má svůj vlastní mechanismus autentizace oddělený od standardní autentizace Linuxem. Vytvoříme uživatele pomocí standardního nástroje Linux useradd a poté nastavíme uživatelské heslo pomocí obslužného programu 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 a jeden administrativní účet s přístupem ke čtení a zápisu ke všem sdíleným položkám 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

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

  • -M nevytvoří domovský adresář uživatele. Tento adresář vytvoříme ručně. -d /samba/josh - nastaví domovský adresář uživatele na /samba/josh . -s /usr/sbin/nologin - zakáže tomuto uživateli přístup do shellu. -G sambashare - přidání uživatele do skupiny sambashare .

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

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

Následující příkaz přidá bit setgid do adresáře /samba/josh 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 vlastníka skupiny 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 hesla uživatele:

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 na povolení spuštění účtu Samba:

sudo smbpasswd -e josh

Enabled user josh.

Chcete-li vytvořit jiného uživatele, opakujte stejný postup jako při vytváření uživatelského josh .

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

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řidá uživatele do skupin sadmin a sambashare .

Nastavte heslo a povolte uživateli:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Dále vytvořte adresář sdílení 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 chmod poskytuje členům skupiny sambashare v adresáři /samba/users přístup pro zápis / čtení:

sudo chmod 2770 /samba/users

Konfigurace akcií Samba

Otevřete konfigurační soubor Samba a připojte oddíly:

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

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin 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ýznamy:

  • a - Názvy sdílených složek, které budete používat při přihlášení. path - Cesta ke sdílené položce. browseable - Zda má být sdílená browseable uvedena v seznamu dostupných sdílených složek. Nastavením na no jiný uživatel nebude moci zobrazit sdílenou složku. read only - zda uživatelé specifikovaní v seznamu valid users jsou schopni zapisovat do této sdílené složky. 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, kteří mají přístup ke sdílené složce. Skupiny jsou označeny symbolem @ .

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

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

sudo systemctl restart smbd sudo systemctl restart nmbd

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

Připojení ke sdílené položce Samba z Linuxu

Uživatelé systému Linux mají přístup ke sdílené složce samba z příkazového řádku pomocí správce souborů nebo ke sdílené složce Samba.

Použití klienta smbclient

smbclient je nástroj, který umožňuje přístup k Sambě z příkazového řádku. Balíček smbclient není na většině linuxových distribucí předinstalován, takže ho budete muset nainstalovat pomocí správce distribučních balíčků.

Chcete-li nainstalovat smbclient na spuštění Ubuntu a Debian:

sudo apt install smbclient

Chcete-li nainstalovat smbclient na CentOS a Fedora run:

sudo yum install samba-client

Syntaxe přístupu 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 josh na serveru Samba s adresou IP 192.168.121.118 jako uživatel josh byste spustili:

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áž podílu Samby

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

Na Ubuntu a Debianu běží:

sudo apt install cifs-utils

Na CentOS a Fedora běží:

sudo yum install cifs-utils

Dále vytvořte bod připojení:

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

Například josh sdílenou josh na server Samba s adresou IP 192.168.121.118 jako uživatelský josh k bodu připojení /mnt/smbmount 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: ********

Pomocí GUI

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

  1. Otevřete soubory a klikněte na „Další umístění“ na postranním panelu. V „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 . Klikněte na „Připojit“ a objeví se následující obrazovka:

Závěr

V tomto tutoriálu jste se naučili, jak nainstalovat server Samba na Ubuntu 18.04 a vytvářet různé typy sdílených a uživatelů. Také jsme vám ukázali, jak se připojit k serveru Samba ze systémů Linux, macOS a Windows.

samba ubuntu