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“ → Eigenschaften → Erweiterte 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.
- So mounten/unmounten Sie lokale und Netzwerkdateisysteme (Samba und NFS) unter Linux
- Verwenden von ACLs (Zugriffskontrolllisten) und Mounten von Samba-/NFS-Freigaben
- 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.