Vyhledávání na webu

Nastavení Samby a konfigurace FirewallD a SELinux pro povolení sdílení souborů na klientech Linux/Windows – Část 6


Vzhledem k tomu, že počítače zřídka fungují jako izolované systémy, lze očekávat, že jako správce systému nebo inženýr víte, jak nastavit a udržovat síť s více typy serverů.

V tomto článku a v dalším z této série si projdeme základy nastavení serverů Samba a NFS s klienty Windows/Linux a Linux.

Tento článek se určitě bude hodit, pokud jste vyzváni k nastavení souborových serverů v podnikovém nebo podnikovém prostředí, kde pravděpodobně najdete různé operační systémy a typy zařízení.

Vzhledem k tomu, že o pozadí a technických aspektech Samby i NFS se můžete dočíst na celém internetu, v tomto a dalším článku se vrhneme přímo na honičku s aktuálním tématem.

Krok 1: Instalace serveru Samba

Naše aktuální testovací prostředí se skládá ze dvou boxů RHEL 7 a jednoho počítače Windows 8 v tomto pořadí:


1. Samba / NFS server [box1 (RHEL 7): 192.168.0.18], 
2. Samba client #1 [box2 (RHEL 7): 192.168.0.20]
3. Samba client #2 [Windows 8 machine: 192.168.0.106]

Na box1 nainstalujte následující balíčky:


yum update && yum install samba samba-client samba-common

Na boxu 2:


yum update && yum install samba samba-client samba-common cifs-utils

Po dokončení instalace jsme připraveni nakonfigurovat naši sdílenou složku.

Krok 2: Nastavení sdílení souborů prostřednictvím Samby

Jedním z důvodů, proč je Samba tak relevantní, je to, že poskytuje souborové a tiskové služby klientům SMB/CIFS, díky čemuž tito klienti vidí server, jako by to byl Systém Windows (Musím přiznat, že při psaní o tomto tématu mám tendenci být trochu emocionální, protože to bylo moje první nastavení jako nového správce systému Linux před několika lety).

Přidání systémových uživatelů a nastavení oprávnění a vlastnictví

Abychom umožnili skupinovou spolupráci, vytvoříme skupinu s názvem finance se dvěma uživateli (user1 a user2) s příkazem useradd a adresářem /finance v boxu 1.

Změníme také vlastníka skupiny tohoto adresáře na finance a nastavíme jeho oprávnění na 0770 (oprávnění ke čtení, zápisu a spouštění pro vlastníka a vlastníka skupiny):


groupadd finance
useradd user1
useradd user2
usermod -a -G finance user1
usermod -a -G finance user2
mkdir /finance
chmod 0770 /finance
chgrp finance /finance

Krok 3: Konfigurace SELinuxu a Firewallu

Při přípravě konfigurace /finance jako sdílení Samba budeme muset buď deaktivovat SELinux, nebo nastavit správné booleovské a bezpečnostní kontextové hodnoty následovně (jinak SELinux zabrání klientům v přístupu ke sdílené složce):


setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool –a | grep samba_export
semanage fcontext –at samba_share_t "/finance(/.*)?"
restorecon /finance

Kromě toho musíme zajistit, aby byl provoz Samba povolen firewallem.


firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

Krok 4: Nakonfigurujte Samba Share

Nyní je čas ponořit se do konfiguračního souboru /etc/samba/smb.conf a přidat sekci pro náš podíl: chceme, aby členové skupiny finance mohli procházet obsah /finance a ukládat /, vytvářet v něm soubory nebo podadresáře (ve výchozím nastavení budou mít bity oprávnění nastaveny na 0770 a finance budou vlastníkem jejich skupiny):


[finance]
comment=Directory for collaboration of the company's finance team
browsable=yes
path=/finance
public=no
valid users=@finance
write list=@finance
writeable=yes
create mask=0770
Force create mode=0770
force group=finance

Uložte soubor a poté jej otestujte pomocí nástroje testparm. Pokud se vyskytnou nějaké chyby, výstup následujícího příkazu ukáže, co je třeba opravit. V opačném případě zobrazí přehled konfigurace vašeho serveru Samba:

Pokud chcete přidat další sdílenou složku, která je otevřená pro veřejnost (to znamená bez jakéhokoli ověření), vytvořte další sekci v /etc/samba/smb.conf a pod názvem nové sdílené položky zkopírujte sekci výše , pouze se změní public=no na public=yes a nezahrnují se platné příkazy pro uživatele a seznam zápisu.

Krok 5: Přidání uživatelů Samba

Dále budete muset přidat uživatel1 a uživatel2 jako uživatele Samby. K tomu použijete příkaz smbpasswd, který spolupracuje s interní databází Samby. Budete vyzváni k zadání hesla, které později použijete pro připojení ke sdílené složce:


smbpasswd -a user1
smbpasswd -a user2

Nakonec restartujte Sambu, povolte spuštění služby při spouštění a ujistěte se, že je sdílená složka skutečně dostupná síťovým klientům:


systemctl start smb
systemctl enable smb
smbclient -L localhost –U user1
smbclient -L localhost –U user2

V tomto okamžiku byl souborový server Samba správně nainstalován a nakonfigurován. Nyní je čas otestovat toto nastavení na našich klientech RHEL 7 a Windows 8.

Krok 6: Připojení Samba Share v Linuxu

Nejprve se ujistěte, že sdílení Samba je přístupné z tohoto klienta:


smbclient –L 192.168.0.18 -U user2

(zopakujte výše uvedený příkaz pro uživatele 1)

Jako každé jiné úložné médium můžete v případě potřeby připojit (a později odpojit) tuto sdílenou síť:


mount //192.168.0.18/finance /media/samba -o username=user1

(kde /media/samba je existující adresář)

nebo trvale přidáním následující položky do souboru /etc/fstab:


//192.168.0.18/finance /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0

Kde skrytý soubor /media/samba/.smbcredentials (jehož oprávnění a vlastnictví byly nastaveny na 600 a root:root) obsahuje dva řádky, které označují uživatelské jméno a heslo účtu, který má povoleno používat sdílenou složku:


username=user1
password=PasswordForUser1

Nakonec vytvořte soubor v /finance a zkontrolujte oprávnění a vlastnictví:


touch /media/samba/FileCreatedInRHELClient.txt

Jak vidíte, soubor byl vytvořen s oprávněními 0770 a vlastnictvím nastaveným na user1:finance.

Krok 7: Připojení Samba Share ve Windows

Chcete-li připojit sdílenou složku Samba v systému Windows, přejděte do části Tento počítač a vyberte možnost Počítač a poté síťovou jednotku Mapa. Dále přiřaďte písmeno pro jednotku, která má být mapována, a zaškrtněte možnost Připojit pomocí různých přihlašovacích údajů (snímky obrazovky níže jsou ve španělštině, mém rodném jazyce):

Nakonec vytvořte soubor a zkontrolujte oprávnění a vlastnictví:


ls -l /finance

Tentokrát soubor patří uživateli user2, protože to je účet, který jsme použili k připojení z klienta Windows.

souhrn

V tomto článku jsme vysvětlili nejen to, jak nastavit server Samba a dva klienty používající různé operační systémy, ale také jak nakonfigurovat firewall a SELinux na serveru tak, aby umožňovaly požadované možnosti skupinové spolupráce.

V neposlední řadě mi dovolte, abyste si přečetli online manuálovou stránku smb.conf a prozkoumali další konfigurační direktivy, které mohou být pro váš případ vhodnější než scénář popsaný v tomto článku.

Jako vždy, pokud máte nějaké připomínky nebo návrhy, neváhejte a napište komentář pomocí formuláře níže.