Samba Server · 4 min read · Dec 06, 2025

Samba-Server-Installation und -Konfiguration auf CentOS 7

Dieses Tutorial erklärt, wie man einen Samba-Server auf CentOS 7 mit anonymen und gesicherten Samba-Freigaben konfiguriert. Samba ist eine Open Source/Free Software-Suite, die nahtlose Datei- und Druckdienste für SMB/CIFS-Clients wie Windows bereitstellt. Samba ist kostenlos verfügbar, im Gegensatz zu anderen SMB/CIFS-Implementierungen, und ermöglicht die Interoperabilität zwischen Linux/Unix-Servern und Windows-basierten Clients.

1 Vorbemerkung

Ich habe einen frisch installierten CentOS 7-Server, auf dem ich den Samba-Server installieren werde. Natürlich benötigen Sie einen Windows-Rechner, um den Samba-Server zu überprüfen, der mit dem CentOS 7-Server erreichbar sein muss. Mein CentOS 7-Server hat den Hostnamen server1.example.com und die IP 192.168.0.100

Hinweis:

  • Der Windows-Rechner muss sich in derselben Arbeitsgruppe befinden. Um den Wert auf dem Windows-Rechner zu überprüfen, führen Sie den Befehl an der Eingabeaufforderung aus
net config workstation

Es wird so aussehen:

Windows-Anmelde-Domainname

Ihr Windows-Rechner muss sich in derselben Arbeitsgruppendomäne wie der CentOS 7.0-Server befinden, d.h. WORKGROUP in meinem Fall.

  • Um den Windows-Rechner erreichbar zu machen, gehen Sie wie folgt vor. Öffnen Sie das Ausführen-Fenster und fügen Sie den Eintrag Ihrer Server-IP-Adresse hinzu:
notepad C:\Windows\System32\drivers\etc\hosts

In meinem Fall sah es so aus, speichern Sie einfach die Werte.

[...]  
192.168.0.100   server1.example.com centos

2 Anonyme Samba-Freigabe

Zuerst erkläre ich die Methodik zur Installation von Samba mit einer anonymen Freigabe. Um die Samba-Software zu installieren, führen Sie aus:

yum install samba samba-client samba-common

Es wird die aktuelle Samba-Version aus dem CentOS-Software-Repository installiert.

Um Samba zu konfigurieren, bearbeiten Sie die Datei /etc/samba/smb.conf. Bevor ich Änderungen vornehme, mache ich eine Sicherung der Originaldatei als /etc/samba/smb.conf.bak

cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak

Da ich mit einer leeren Datei beginnen möchte, verwende ich den Befehl cat, um smb.conf zu leeren. Das ist schneller, als alle Zeilen in vi zu löschen.

cat /dev/null > /etc/samba/smb.conf

Geben Sie weiter die Einträge wie folgt ein

vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Freigabedefinitionen ============================== 
[Anonymous]
path = /samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no
mkdir -p /samba/anonymous  
systemctl enable smb.service  
systemctl enable nmb.service  
systemctl restart smb.service  
systemctl restart nmb.service  

Darüber hinaus wird die CentOS 7 Firewall-cmd den Samba-Zugriff blockieren, um dies zu beheben, führen wir aus:

firewall-cmd --permanent --zone=public --add-service=samba
[root@server1 ~]# firewall-cmd --permanent --zone=public --add-service=samba
success
[root@server1 ~]#

Letztendlich laden Sie die Firewall neu, um die Änderungen anzuwenden.

firewall-cmd --reload
[root@server1 ~]# firewall-cmd --reload
success
[root@server1 ~]#

Jetzt können Sie die CentOS 7-Freigabe in Windows wie folgt aufrufen. Gehen Sie zur Eingabeaufforderung und geben Sie \centos ein:

\centos

Öffnen Sie die Samba-Freigabe in Windows

Von einem Windows-Rechner aus können Sie einfach den Ordner durchsuchen und versuchen, eine Textdatei zu erstellen, aber Sie erhalten einen Fehler wegen verweigerter Berechtigung.

Durchsuchen des mit Samba in Windows geteilten Ordners
Testen des anonymen Zugriffs auf die Samba-Freigabe

Überprüfen Sie die Berechtigung des freigegebenen Ordners.

ls -l

drwxr-xr-x. 2 root root 6 Jul 17 13:41 anonymous  
[root@server1 samba]#

Um den Zugriff durch den anonymen Benutzer zu ermöglichen, setzen Sie die Berechtigungen wie folgt:

cd /samba
chmod -R 0755 anonymous/  
chown -R nobody:nobody anonymous/
ls -l anonymous/
total 0  
drwxr-xr-x. 2 nobody nobody 6 Jul 17 13:41 anonymous  
[root@server1 samba]#

Darüber hinaus müssen wir SELinux für die Samba-Konfiguration wie folgt zulassen:

chcon -t samba_share_t anonymous/

Jetzt kann der anonyme Benutzer den Inhalt des Ordners durchsuchen und erstellen.

Ordnerzugriff durch anonymen Benutzer

Sie können den Inhalt auch auf dem Server überprüfen.

ls -l anonymous/
total 0  
-rwxr--r--. 1 nobody nobody 0 Jul 17 16:05 anonymous.txt  
[root@server1 samba]#

3. Gesicherter Samba-Server

Daher werde ich eine Gruppe smbgrp und einen Benutzer srijan erstellen, um auf den Samba-Server mit ordnungsgemäßer Authentifizierung zuzugreifen.

groupadd smbgrp
useradd srijan -G smbgrp
smbpasswd -a srijan
[root@server1 samba]# smbpasswd -a srijan
New SMB password:<--yoursambapassword
Retype new SMB password:<--yoursambapassword
Added user srijan.
[root@server1 samba]#  

Jetzt erstellen Sie einen Ordner mit dem Namen secured im /samba-Ordner und geben Sie die Berechtigungen wie folgt:

mkdir -p /samba/secured

Wieder müssen wir SELinux erlauben, durchzuhören:

cd /samba
chmod -R 0777 secured/
chcon -t samba_share_t secured/

Wieder bearbeiten Sie die Konfigurationsdatei wie:

vi /etc/samba/smb.conf

[...]  
[secured]
 path = /samba/secured
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes
systemctl restart smb.service
systemctl restart nmb.service

Überprüfen Sie die Einstellungen wie folgt:

testparm
[root@server1 samba]# testparm 
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Anonymous]"
Processing section "[secured]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions <--ENTER

[global]
    netbios name = CENTOS
    server string = Samba Server %v
    map to guest = Bad User
    dns proxy = No
    idmap config * : backend = tdb

[Anonymous]
    path = /samba/anonymous
    read only = No
    guest ok = Yes

[secured]
    path = /samba/secured
    valid users = @smbgrp
    read only = No
[root@server1 samba]# 

Jetzt überprüfen Sie den Ordner auf dem Windows-Rechner mit den richtigen Anmeldeinformationen

Gesicherter Samba-Zugriff mit Passwort

Sie werden erneut auf das Problem der Berechtigungen stoßen, um dem Benutzer srijan Schreibberechtigungen zu geben:

cd /samba  
chown -R srijan:smbgrp secured/

Jetzt haben Samba-Benutzer die Berechtigungen, um in den Ordner zu schreiben. Prost, Sie haben den Samba-Server in CentOS 7 eingerichtet :)

Ordnerauflistung von der Samba-Freigabe in Windows

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.