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 der anonymen (unsicheren) und sicheren Dateifreigabe befasst.
Hier beschreiben wir, wie Sie Samba4 unter CentOS 7 (funktioniert auch unter RHEL 7) für die grundlegende Dateifreigabe zwischen anderen Linux-Systemen und Windows-Maschinen installieren und konfigurieren.
Wichtig: Ab Version 4.0 kann Samba als Active Directory (AD) Domain Controller (DC) ausgeführt werden. Wir empfehlen Ihnen, unsere spezielle Serie zum Einrichten des Samba4 Active Directory-Domänencontrollers zu lesen, die wichtige Themen für Ubuntu, CentOS und Windows enthält.
Installieren Sie Samba4 in CentOS 7
1. Installieren Sie zuerst Samba4 und die erforderlichen Pakete aus den standardmäßigen CentOS-Repositories mit dem yum-Paketmanager-Tool, 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 Einstellungen für die Windows-Arbeitsgruppe von Computern
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 "Arbeitsplatz" → Eigenschaften → Erweiterte Systemeinstellungen → Computername.
- Alternativ können Sie die Eingabeaufforderung cmd öffnen, den folgenden Befehl ausführen und dann in der Ausgabe nach "workstation domain" suchen, wie unten gezeigt.
>net config workstation
Konfigurieren von Samba4 unter CentOS 7
4. Die Hauptkonfigurationsdatei für Samba ist /etc/samba/smb.conf, die Originaldatei enthält Vorkonfigurationseinstellungen, die verschiedene Konfigurationsanweisungen erklären, um Sie zu führen.
Bevor Sie Samba konfigurieren, empfehle ich Ihnen jedoch, eine Sicherungskopie der Standarddatei wie folgt 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 Dateifreigabedienste fort, wie unten beschrieben.
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 und aktivieren Sie abschließend die Samba-Dienste, um beim nächsten Start automatisch zu starten, und übernehmen Sie auch die oben genannten Änderungen, 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, klicken Sie dann auf den CentOS-Host oder versuchen Sie, mit seiner IP-Adresse auf den Server zuzugreifen (verwenden Sie den Befehl ifconfig, um die IP-Adresse abzurufen).
e.g. \2.168.43.168.
10. Öffnen Sie als Nächstes das anonyme Verzeichnis und versuchen Sie, dort Dateien hinzuzufügen, um sie mit anderen Benutzern zu teilen.
Samba4 Secure File Sharing einrichten
11. Beginnen Sie zunächst mit dem Erstellen einer Samba-Systemgruppe, fügen Sie dann Benutzer zur Gruppe hinzu und legen Sie für jeden Benutzer ein Passwort fest.
# groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint
12. Erstellen Sie dann ein sicheres Verzeichnis, in dem die freigegebenen Dateien aufbewahrt werden, und legen Sie die entsprechenden Berechtigungen für das Verzeichnis mit SELinux-Sicherheitskontext für den 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 zur Bearbeitung und ändern/fügen Sie den Abschnitt darunter 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, mit seiner IP-Adresse auf den Server zuzugreifen.
e.g. \2.168.43.168.
Sie werden aufgefordert, Ihren Benutzernamen und Ihr Passwort einzugeben, um sich beim CentOS-Server anzumelden. Nachdem Sie die Anmeldeinformationen eingegeben haben, klicken Sie auf OK.
17. Sobald Sie sich erfolgreich angemeldet haben, sehen Sie alle freigegebenen Samba-Verzeichnisse. Geben Sie nun einige Dateien sicher für andere berechtigte Benutzer im Netzwerk frei, indem Sie sie im sicheren Verzeichnis ablegen.
Sie können sich auch diese nützlichen Artikel über die gemeinsame Nutzung von Samba-Dateien in einem Netzwerk ansehen.
- Mounten/Unmounten von lokalen und Netzwerk-Dateisystemen (Samba & NFS) unter Linux
- Verwendung von ACLs (Access Control Lists) und Mounten von Samba/NFS-Freigaben
- So beheben Sie die SambaCry-Schwachstelle (CVE-2017-7494) in Linux-Systemen
In dieser Anleitung haben wir Ihnen gezeigt, wie Sie Samba4 für den anonymen und sicheren Dateiaustausch zwischen CentOS und anderen Linux-Systemen sowie Windows-Rechnern einrichten. Teilen Sie uns Ihre Gedanken über den Kommentarbereich unten mit.









