Vyhledávání na webu

Jak nainstalovat Samba4 na CentOS 7 pro sdílení souborů ve Windows


V našem posledním článku jsme ukázali, jak nainstalovat Samba4 na Ubuntu pro základní sdílení souborů mezi systémy Ubuntu a počítači se systémem Windows. Kde jsme se podívali na konfiguraci anonymního (nezabezpečeného) a také zabezpečeného sdílení souborů.

Zde popíšeme, jak nainstalovat a nakonfigurovat Samba4 na CentOS 7 (funguje také na RHEL 7) pro základní sdílení souborů mezi jinými systémy Linux a počítači s Windows.

Důležité: Od verze 4.0 může Samba běžet jako řadič domény (DC) Active Directory (AD). Doporučujeme vám přečíst si naši speciální sérii o nastavení Samba4 Active Directory Domain Controller, která obsahuje kritická témata pro Ubuntu, CentOS a Windows.

Nainstalujte Samba4 v CentOS 7

1. Nejprve nainstalujte Samba4 a požadované balíčky z výchozích repozitářů CentOS pomocí nástroje správce balíčků yum, jak je znázorněno.

yum install samba samba-client samba-common

2. Po instalaci balíčků samba povolte pomocí těchto příkazů povolení služeb samby prostřednictvím brány firewall systému.

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

Zkontrolujte nastavení Windows Machine Workgroup

3. Než budete pokračovat v konfiguraci samby, ujistěte se, že počítač se systémem Windows je ve stejné pracovní skupině, která má být konfigurována na serveru CentOS.

Existují dva možné způsoby, jak zobrazit nastavení pracovní skupiny počítače se systémem Windows:

  • Klikněte pravým tlačítkem na „Tento počítač“ nebo „Tento počítač“ → VlastnostiPokročilá nastavení systému Název počítače.

  • Případně otevřete výzvu cmd a spusťte následující příkaz a poté vyhledejte "workstation domain" ve výstupu, jak je uvedeno níže.
>net config workstation

Konfigurace Samba4 na CentOS 7

4. Hlavní konfigurační soubor samby je /etc/samba/smb.conf, původní soubor je dodáván s předkonfiguračním nastavením, které vysvětluje různé konfigurační direktivy, které vás vedou.

Ale před konfigurací samby vám doporučuji udělat zálohu výchozího souboru, jako je tento.

cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Poté pokračujte v konfiguraci samby pro anonymní a zabezpečené sdílení souborů, jak je vysvětleno níže.

Anonymní sdílení souborů Samba4

5. Nejprve vytvořte sdílený adresář, kam budou soubory na serveru ukládány, a nastavte pro tento adresář příslušná oprávnění.

mkdir -p /srv/samba/anonymous
chmod -R 0775 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous

Dále je třeba změnit kontext zabezpečení SELinux pro sdílený adresář samba následovně.

chcon -t samba_share_t /srv/samba/anonymous

6. Dále otevřete konfigurační soubor samby pro úpravy, kde můžete upravit/přidat níže uvedené sekce s odpovídajícími direktivami.

vi /etc/samba/smb.conf
[global]
	workgroup = WORKGROUP
	netbios name = centos
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

7. Nyní ověřte aktuální nastavení samby spuštěním příkazu níže.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No

8. Nakonec spusťte a povolte automatické spouštění služeb samba při příštím spuštění a také aplikujte výše uvedené změny, aby se projevily.

systemctl enable smb.service
systemctl enable nmb.service
systemctl start smb.service
systemctl start nmb.service

Testování anonymního sdílení souborů Samba

9. Nyní na počítači se systémem Windows otevřete „Network “ z okna Průzkumníka Windows a poté klikněte na hostitele CentOS nebo zkuste přístup k serveru pomocí jeho IP adresy (pro získání IP adresy použijte příkaz ifconfig).

e.g. \2.168.43.168.

10. Dále otevřete adresář Anonymní a zkuste do něj přidat soubory, které chcete sdílet s ostatními uživateli.

Nastavte zabezpečené sdílení souborů Samba4

11. Nejprve začněte vytvořením systémové skupiny samba, poté přidejte uživatele do skupiny a nastavte heslo pro každého uživatele.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Poté vytvořte zabezpečený adresář, kde budou sdílené soubory uchovávány, a nastavte příslušná oprávnění pro adresář s bezpečnostním kontextem SELinux pro sambu.

mkdir -p /srv/samba/secure
chmod -R 0770 /srv/samba/secure
chown -R root:smbgrp /srv/samba/secure
chcon -t samba_share_t /srv/samba/secure

13. Dále otevřete konfigurační soubor pro úpravy a upravte/přidejte sekci níže s odpovídajícími direktivami.

vi /etc/samba/smb.conf
[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

14. Znovu ověřte nastavení konfigurace samby spuštěním následujícího příkazu.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure
	read only = No
	valid users = @smbgrp

15. Restartujte služby Samba, aby se změny projevily.

systemctl restart smb.service
systemctl restart nmb.service

Testování bezpečného sdílení souborů Samba

16. Přejděte do počítače se systémem Windows, v okně Průzkumníka Windows otevřete „Network “ a poté klikněte na hostitele CentOS nebo se pokuste o přístup server pomocí jeho IP adresy.

e.g. \2.168.43.168.

Budete požádáni o zadání uživatelského jména a hesla pro přihlášení k serveru CentOS. Po zadání přihlašovacích údajů klikněte na OK.

17. Jakmile se úspěšně přihlásíte, uvidíte všechny sdílené adresáře samby. Nyní bezpečně sdílejte některé soubory s ostatními povolenými uživateli v síti jejich přetažením do adresáře Secure.

Můžete se také podívat na tyto užitečné články týkající se sdílení souborů Samba v síti.

  1. Jak připojit/odpojit místní a síťové (Samba a NFS) souborové systémy v Linuxu
  2. Použití seznamů ACL (Access Control List) a připojení sdílených složek Samba/NFS
  3. Jak opravit chybu zabezpečení SambaCry (CVE-2017-7494) v systémech Linux

V této příručce jsme vám ukázali, jak nastavit Samba4 pro anonymní a bezpečné sdílení souborů mezi CentOS a dalšími systémy Linux a také počítači se systémem Windows. Podělte se s námi o jakékoli myšlenky prostřednictvím sekce komentářů níže.