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.