Sdílení souborů je důležité pro spolupráci v jakékoli síti. V této sérii článků vám ukážu, jak vám Samba může pomoci nastavit a obsluhovat sdílení souborů na linuxových serverech, které jsou přístupné z klientů Linux i Windows.
Co je Samba?
Než se ponoříme do toho a nastavíme sdílení souborů, pojďme se podívat, co je Samba a co pro vás může udělat.
Samba je sada aplikací, které implementují protokol Server Message Block (SMB). Mnoho operačních systémů, včetně Microsoft Windows, používá protokol SMB pro sítě klient-server. Samba umožňuje počítačům Linux / Unix komunikovat s počítači se systémem Windows v síti.
Samba je software s otevřeným zdrojovým kódem. Původně byla Samba vyvinuta v roce 1991 pro rychlé a bezpečné sdílení souborů a tisku pro všechny klienty používající protokol SMB. Od té doby se vyvinul a přidal další možnosti. Dnes Samba poskytuje sadu aplikací umožňujících bezproblémové síťové propojení a interoperabilitu mezi *nix a Windows.
Nainstalujte balíčky Samba
V tomto příkladu používám CentOS 8 s názvem hostitele centos
jako můj server Samba s IP adresou 192.168.1.122. Jediný balíček, který budete muset nainstalovat, je Samba, ale rád bych zahrnul další klientské nástroje jako samba-common
a samba-client
abychom naše akcie otestovali později.
# yum install samba samba-client samba-common -y
Vytvořte adresář ke sdílení a nastavte jeho oprávnění
Jakmile nainstalujete požadované balíčky na server, vytvořte adresář a poskytněte mu požadovaná oprávnění. Vytvořte adresář s názvem share
v našem kořenovém adresáři. Tento adresář můžete pojmenovat jakkoli chcete a udělit mu oprávnění ke čtení, zápisu a spouštění. V tomto příkladu se budeme spoléhat na konfiguraci Samba pro řízení přístupu pro čtení a zápis do sdíleného adresáře.
# mkdir /share
# chmod -R 777 /share
Konfigurace sdílení
Nyní, když jsme nainstalovali potřebné balíčky, je čas nakonfigurovat sdílený adresář. Konfigurační soubor se nachází pod /etc/samba
. Pomocí svého oblíbeného textového editoru přidejte následující do /etc/samba/smb.conf
. Ponechte zbytek konfiguračního souboru tak, jak je, a to by mělo být dobré pro naše nastavení.
# vim /etc/samba/smb.conf
[myshare]
comment = My share
path = /share
read only = No
Vytvořil jsem sdílení s názvem myshare
a poskytl cestu ke sdílené složce, která se v našem případě nachází na adrese /share
. Poté jsem mu udělil oprávnění ke čtení/zápisu s read only = No
. Existuje mnoho dalších konfiguračních parametrů, které zde můžete zadat, ale pro naše nastavení jsou tato nastavení dobrá.
Zkontrolujte konfiguraci Samby
Samba poskytuje nástroj pro kontrolu našeho konfiguračního souboru. Můžeme zkontrolovat, zda náš konfigurační soubor neobsahuje nějaké chyby, pomocí testparm
příkaz.
# testparm
Dále musíme vytvořit uživatelský účet Samba, aby Samba mohla komunikovat v relacích Samba se sdíleními. smbpasswd
příkaz má několik funkcí v závislosti na tom, zda příkaz spustíte jako root
nebo jako standardní uživatel. Pokud zadáte smbpasswd
bez jakýchkoli argumentů jako non-root
uživatel, ve výchozím nastavení smbpasswd
změní heslo aktuálně přihlášeného uživatele Samba. Když spustíte smbpasswd
příkaz jako root
, budete moci vytvářet nové účty Samba. Účet Samba můžete vytvořit pouze pro stávající uživatelské účty systému Linux.
# smbpasswd -a user
New SMB password:
Retype new SMB password:
Musíme nakonfigurovat SELinux na /share
adresář, aby měla služba Samba správná oprávnění.
# semanage fcontext -a -t samba_share_t "/share(/.*)?"
# restorecon -R -v /share
Dále musíme povolit a spustit smb
a nmb
služby.
# systemctl enable smb
# systemctl start smb
#systemctl enable nmb
#systemctl start nmb
Pokud máte firewalld
běžící na vašem serveru, musíme jej nakonfigurovat tak, aby umožňoval provoz Samba. Můžete tak učinit pomocí firewall-cmd
příkaz. Nezapomeňte tyto změny provést trvale a znovu načíst firewalld
.
Nyní máme naše služby povoleny a spuštěny. Můžeme zkontrolovat, zda je sdílení dostupné ze serveru pomocí smbclient
nářadí. To je důvod, proč jsem nainstaloval klientské nástroje Samba na místní počítač. Příkaz používá následující syntaxi:
smbclient -U -L
# smbclient -U user -L 192.168.1.122
Enter SAMBA\user's password:
Zkontrolujeme, zda máme přístup ke sdílené složce, zadáním následujícího příkazu na serveru:
# smbclient -U user //192.168.1.122/myshare
Enter SAMBA\user's password:
Try "help" to get a list of possible commands.
smb: \>
Zabalit
Nainstalovali jsme a nakonfigurovali službu sdílení souborů Samba na našem linuxovém serveru. Měli jsme přístup k těmto sdíleným položkám na místním počítači. V příštím článku nastavíme jednoho klienta pro Linux a jednoho klienta pro Windows 10 pro přístup ke sdílené složce, kterou jsme právě vytvořili.
[ Chcete se dozvědět více o správě systému Linux? Absolvujte kurz správy systému Red Hat. ]