Website-Suche

So installieren Sie Samba4 auf CentOS 7 für die Dateifreigabe unter Windows


In unserem letzten Artikel haben wir gezeigt, wie man Samba4 auf Ubuntu für die grundlegende Dateifreigabe zwischen Ubuntu-Systemen und Windows-Rechnern installiert. Hier haben wir uns mit der Konfiguration anonymer (unsicherer) und sicherer Dateifreigabe befasst.

Hier beschreiben wir, wie man Samba4 auf CentOS 7 installiert und konfiguriert (funktioniert auch auf RHEL 7) für die grundlegende Dateifreigabe zwischen anderen Linux-Systemen und Windows-Maschinen.

Wichtig: Ab Version 4.0 kann Samba als Active Directory (AD) Domänencontroller (DC) laufen. Wir empfehlen Ihnen, unsere spezielle Serie zum Einrichten des Samba4 Active Directory Domain Controllers durchzulesen, die wichtige Themen für Ubuntu, CentOS und Windows enthält.

Installieren Sie Samba4 in CentOS 7

1. Installieren Sie zunächst Samba4 und die erforderlichen Pakete aus den Standard-CentOS-Repositorys mit dem Paketmanager-Tool yum, wie gezeigt.

yum install samba samba-client samba-common

2. Aktivieren Sie nach der Installation der Samba-Pakete mit diesen Befehlen, dass Samba-Dienste durch die System-Firewall zugelassen werden.

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

Überprüfen Sie die Windows-Maschinenarbeitsgruppeneinstellungen

3. Bevor Sie mit der Konfiguration von Samba fortfahren, stellen Sie sicher, dass sich der Windows-Computer in derselben Arbeitsgruppe befindet, die auf dem CentOS-Server konfiguriert werden soll.

Es gibt zwei Möglichkeiten, die Arbeitsgruppeneinstellungen des Windows-Computers anzuzeigen:

  • Klicken Sie mit der rechten Maustaste auf „Dieser PC“ oder „Mein Computer“ → EigenschaftenErweiterte Systemeinstellungen Computername.

  • Öffnen Sie alternativ die cmd-Eingabeaufforderung und führen Sie den folgenden Befehl aus. Suchen Sie dann in der Ausgabe nach „Arbeitsplatzdomäne“, wie unten gezeigt.
>net config workstation

Konfigurieren von Samba4 unter CentOS 7

4. Die Hauptkonfigurationsdatei von Samba ist /etc/samba/smb.conf. Die Originaldatei enthält Vorkonfigurationseinstellungen, die verschiedene Konfigurationsanweisungen als Leitfaden erläutern.

Aber bevor Sie Samba konfigurieren, empfehle ich Ihnen, eine Sicherungskopie der Standarddatei wie diese zu erstellen.

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

Fahren Sie dann mit der Konfiguration von Samba für anonyme und sichere Dateifreigabe-Dienste fort, wie unten erläutert.

Samba4 Anonyme Dateifreigabe

5. Erstellen Sie zunächst das freigegebene Verzeichnis, in dem die Dateien auf dem Server gespeichert werden, und legen Sie die entsprechenden Berechtigungen für das Verzeichnis fest.

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

Außerdem müssen Sie den SELinux-Sicherheitskontext für das freigegebene Samba-Verzeichnis wie folgt ändern.

chcon -t samba_share_t /srv/samba/anonymous

6. Öffnen Sie als Nächstes die Samba-Konfigurationsdatei zur Bearbeitung, in der Sie die folgenden Abschnitte mit den entsprechenden Anweisungen ändern/hinzufügen können.

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. Überprüfen Sie nun die aktuellen Samba-Einstellungen, indem Sie den folgenden Befehl ausführen.

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. Starten Sie abschließend die Samba-Dienste und aktivieren Sie sie, damit sie beim nächsten Start automatisch gestartet werden. Wenden Sie auch die oben genannten Änderungen an, damit sie wirksam werden.

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

Testen der anonymen Samba-Dateifreigabe

9. Öffnen Sie nun auf dem Windows-Computer „Netzwerk“ in einem Windows Explorer-Fenster und klicken Sie dann auf den CentOS-Host, oder versuchen Sie es andernfalls Greifen Sie über seine IP-Adresse auf den Server zu (verwenden Sie den Befehl ifconfig, um die IP-Adresse abzurufen).

e.g. \2.168.43.168.

10. Öffnen Sie als Nächstes das Verzeichnis Anonym und versuchen Sie, dort Dateien hinzuzufügen, um sie mit anderen Benutzern zu teilen.

Richten Sie Samba4 Secure File Sharing ein

11. Beginnen Sie zunächst mit der Erstellung einer Samba-Systemgruppe, fügen Sie dann Benutzer zur Gruppe hinzu und legen Sie auf diese Weise ein Passwort für jeden Benutzer fest.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Erstellen Sie dann ein sicheres Verzeichnis, in dem die freigegebenen Dateien gespeichert werden, und legen Sie die entsprechenden Berechtigungen für das Verzeichnis mit dem SELinux-Sicherheitskontext für Samba fest.

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. Öffnen Sie als Nächstes die Konfigurationsdatei zum Bearbeiten und ändern/fügen Sie den folgenden Abschnitt mit den entsprechenden Anweisungen hinzu.

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. Überprüfen Sie erneut die Samba-Konfigurationseinstellungen, indem Sie den folgenden Befehl ausführen.

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. Starten Sie die Samba-Dienste neu, um die Änderungen zu übernehmen.

systemctl restart smb.service
systemctl restart nmb.service

Testen der sicheren Samba-Dateifreigabe

16. Gehen Sie zum Windows-Computer, öffnen Sie „Netzwerk“ in einem Windows-Explorer-Fenster, klicken Sie dann auf den CentOS-Host oder versuchen Sie andernfalls, darauf zuzugreifen den Server über seine IP-Adresse.

e.g. \2.168.43.168.

Sie werden aufgefordert, Ihren Benutzernamen und Ihr Passwort anzugeben, um sich beim CentOS-Server anzumelden. Nachdem Sie die Anmeldeinformationen eingegeben haben, klicken Sie auf OK.

17. Sobald Sie sich erfolgreich angemeldet haben, werden Ihnen alle freigegebenen Samba-Verzeichnisse angezeigt. Geben Sie nun einige Dateien sicher für andere zugelassene Benutzer im Netzwerk frei, indem Sie sie im Verzeichnis Sicher ablegen.

Sie können auch diese nützlichen Artikel zum Thema Samba-Dateifreigabe in einem Netzwerk lesen.

  1. So mounten/unmounten Sie lokale und Netzwerkdateisysteme (Samba und NFS) unter Linux
  2. Verwenden von ACLs (Zugriffskontrolllisten) und Mounten von Samba-/NFS-Freigaben
  3. So beheben Sie die SambaCry-Sicherheitslücke (CVE-2017-7494) in Linux-Systemen

In dieser Anleitung haben wir Ihnen gezeigt, wie Sie Samba4 für die anonyme und sichere Dateifreigabe zwischen CentOS und anderen Linux-Systemen sowie Windows-Maschinen einrichten. Teilen Sie uns Ihre Gedanken über den Kommentarbereich unten mit.