Wéi installéiere Samba4 op CentOS 7 fir Datei Sharing op Windows


An eisem leschten Artikel hu mir gewisen wéi Dir Samba4 op Ubuntu installéiere kënnt fir Basis Dateienaustausch tëscht Ubuntu Systemen a Windows Maschinnen. Wou mir d'Konfiguratioun vun anonymen (onsécher) wéi och sécher Dateiendeele gekuckt hunn.

Hei wäerte mir beschreiwen wéi Dir Samba4 op CentOS 7 installéiere an konfiguréieren (fonctionnéiert och op RHEL 7) fir Basisdateien tëscht anere Linux Systemer a Windows Maschinnen.

Wichteg: Vun der Versioun 4.0 un, Samba kann als Samba4 Active Directory Domain Controller lafen, deen kritesch Themen fir Ubuntu, CentOS a Windows enthält.

Installéiert Samba4 an CentOS 7

1. Installéiert éischt Samba4 an erfuerderlech Pakete vun de Standard CentOS Repositories mat dem Yum Package Manager Tool wéi gewisen.

# yum install samba samba-client samba-common

2. Nodeems Dir d'Samba Packagen installéiert hutt, aktivéiert Samba Servicer fir duerch System Firewall mat dëse Kommandoen erlaabt ze ginn.

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

Kontrolléiert Windows Machine Workgroup Settings

3. Ier Dir weidergeet fir Samba ze konfiguréieren, vergewëssert Iech datt d'Windows Maschinn an der selwechter Aarbechtsgrupp ass fir op den CentOS Server ze konfiguréieren.

Et ginn zwou méiglech Weeër fir d'Windows Maschinn Workgroup Astellungen ze gesinn:

  • Rietsklickt op \Dëse PC\ oder \Mäi Computer → Properties → Advanced System Settings → Computer Name.

  • Alternativ, öffnen d'cmd-Prompt a lafen de folgende Kommando aus, sicht dann no \Workstation Domain\ an der Ausgab wéi hei ënnendrënner.

>net config workstation

Samba4 op CentOS 7 konfiguréieren

4. D'Haaptsamba Konfiguratiounsdatei ass /etc/samba/smb.conf, d'Originaldatei kënnt mat Pre-Konfiguratiouns-Astellungen, déi verschidde Konfiguratiounsdirektiven erkläre fir Iech ze guidéieren.

Awer, ier Dir Samba konfiguréiert, proposéiere ech Iech e Backup vun der Standarddatei wéi dës ze huelen.

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

Da fuert weider fir Samba fir anonym a sécher Datei Sharing Servicer ze konfiguréieren wéi hei ënnen erkläert.

5. Erstellt als éischt de gemeinsame Verzeechnes wou d'Dateien um Server gespäichert ginn an déi entspriechend Permissiounen am Verzeechnes setzen.

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

Och musst Dir de SELinux Sécherheetskontext fir de Samba gedeelt Verzeechnes wéi follegt änneren.

# chcon -t samba_share_t /srv/samba/anonymous

6. Als nächst, öffnen d'Samba Konfiguratiounsdatei fir d'Editioun, wou Dir d'Sektiounen hei drënner mat den entspriechende Direktiven änneren/addéiere kënnt.

# 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. Elo iwwerpréift déi aktuell Samba Astellungen andeems Dir de Kommando hei drënner leeft.

# 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. Endlech, start an aktivéiert Samba Servicer fir automatesch beim nächste Boot unzefänken an och déi uewe genannte Ännerunge fir a Kraaft ze huelen.

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

9. Elo op der Windows-Maschinn, öffnen \Network aus enger Windows Explorer-Fënster, klickt dann op den CentOS-Host, oder probéiert op de Server mat senger IP Adress ze kommen (benotzt den ifconfig Kommando fir d'IP Adress ze kréien).

e.g. \2.168.43.168.

10. Als nächst, öffnen den Anonyme Verzeichnis a probéiert Dateien derbäi ze addéieren fir mat anere Benotzer ze deelen.

Setup Samba4 Secure File Sharing

11. Fänke fir d'éischt un, andeems Dir e Samba-Systemgrupp erstellt, füügt dann d'Benotzer un d'Grupp a setzt e Passwuert fir all Benotzer wéi esou.

# groupadd smbgrp
# usermod tecmint -aG smbgrp
# smbpasswd -a tecmint

12. Erstellt dann e séchere Verzeichnis, wou déi gedeelt Dateien gehale ginn an déi entspriechend Permissiounen am Verzeechnes mat SELinux Sécherheetskontext fir d'Samba setzen.

# 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. Als nächst öffnen d'Konfiguratiounsdatei fir z'änneren an änneren/fügen d'Sektioun hei drënner mat den entspriechende Direktiven un.

# 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. Nach eng Kéier, kontrolléiert d'Samba Konfiguratiounsastellungen andeems Dir de folgende Kommando ausféiert.

$ 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. Restart Samba Servicer fir d'Ännerungen ëmzesetzen.

# systemctl restart smb.service
# systemctl restart nmb.service

16. Gitt op Windows Maschinn, öffnen \Network vun enger Windows Explorer-Fënster, klickt dann op den CentOS Host, oder probéiert op de Server mat senger IP Adress ze kommen.

e.g. \2.168.43.168.

Dir wäert gefrot ginn Äre Benotzernumm a Passwuert unzeginn fir den CentOS Server unzemellen. Wann Dir d'Umeldungsinformatiounen aginn hutt, klickt OK.

17. Wann Dir Iech erfollegräich ageloggt hutt, gesitt Dir all Samba gedeelt Verzeichnisser. Deelt elo sécher e puer Dateie mat aneren zougeloossene Benotzer am Netz andeems se se am Séchert Verzeechnes falen.

Dir kënnt och dës nëtzlech Artikelen iwwer Samba Dateiendeelen op engem Netz kucken.

  1. Wéi montéiert/demontéiert Dir Lokal an Netzwierk (Samba & NFS) Dateiesystemer a Linux
  2. Benotzen vun ACLs (Access Control Lists) a Montage Samba/NFS Shares
  3. Wéi Fix SambaCry Vulnerabilitéit (CVE-2017-7494) a Linux Systemer

An dësem Guide hu mir Iech gewisen wéi Dir Samba4 opstellt fir anonym a sécher Datei Sharing tëscht CentOS an aner Linux Systemer souwéi Windows Maschinnen. Deelt all Gedanken mat eis iwwer de Kommentarsektioun hei drënner.