Samba Server · 8 min read · Dec 08, 2025

So installieren Sie den Samba-Server auf CentOS 8

Samba ist eine kostenlose und Open-Source-Software, die verwendet werden kann, um Dateien, Ordner und Drucker zwischen Linux- und Windows-Systemen zu teilen. Es wird auch für Authentifizierung und Autorisierung, Namensauflösung und Dienstankündigung verwendet. Es kann auf verschiedenen Betriebssystemen ausgeführt werden, einschließlich Linux, Unix, OpenVMS und vielen mehr.

In diesem Tutorial lernen wir, wie man Samba installiert und es als eigenständigen Freigabeserver auf CentOS 8 konfiguriert.

Voraussetzungen

  • Ein Server, der CentOS 8 ausführt.
  • Ein Root-Passwort ist auf Ihrem Server konfiguriert.

Samba-Server installieren

Standardmäßig ist das Samba-Paket im Standard-Repository von CentOS verfügbar. Sie können es mit dem folgenden Befehl installieren:

dnf install samba samba-common samba-client -y

Nach der Installation von Samba starten Sie den SMB-Dienst und aktivieren ihn, damit er nach dem Neustart des Systems startet, mit dem folgenden Befehl:

systemctl start smb  
systemctl enable smb

Sie können jetzt den Samba-Dienst mit dem folgenden Befehl überprüfen:

systemctl status smb

Sie sollten die folgende Ausgabe erhalten:

? smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2072 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 25028)
   Memory: 33.8M
   CGroup: /system.slice/smb.service
           ??2072 /usr/sbin/smbd --foreground --no-process-group
           ??2074 /usr/sbin/smbd --foreground --no-process-group
           ??2075 /usr/sbin/smbd --foreground --no-process-group
           ??2076 /usr/sbin/smbd --foreground --no-process-group

Erstellen Sie eine öffentliche Freigabe mit Samba

In diesem Abschnitt werden wir eine öffentliche Freigabe mit Samba erstellen, sodass jeder auf das öffentliche Freigabeverzeichnis ohne Passwort zugreifen kann.

Erstellen Sie ein öffentliches Freigabeverzeichnis

Zuerst erstellen Sie einen freigegebenen Ordner mit dem Namen public und erstellen auch zwei Dateien im öffentlichen Verzeichnis:

mkdir -p /samba/share/public  
touch /samba/share/public/file1.txt  
touch /samba/share/public/file2.txt

Als Nächstes weisen Sie die erforderlichen Berechtigungen und den Besitz mit dem folgenden Befehl zu:

chmod -R 0755 /samba/share/  
chmod -R 0755 /samba/share/public  
chown -R nobody:nobody /samba/share  
chown -R nobody:nobody /samba/share/public

Samba konfigurieren

Als Nächstes müssen Sie Samba konfigurieren, um ein öffentliches Verzeichnis zu teilen.

Zuerst erstellen Sie eine Sicherungskopie der Datei /etc/samba/smb.conf mit dem folgenden Befehl:

mv /etc/samba/smb.conf /etc/samba/smb.bak

Als Nächstes erstellen Sie eine neue Samba-Konfigurationsdatei:

nano /etc/samba/smb.conf

Fügen Sie die folgenden Zeilen hinzu:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = samba-server
security = user
map to guest = bad user
dns proxy = no

[Public]
path = /samba/share/public
browsable =yes
writable = yes
guests ok = yes
read only = no

Speichern Sie die Datei und schließen Sie sie. Starten Sie dann den Samba-Dienst neu, um die Änderungen anzuwenden:

systemctl restart smb

Als Nächstes testen Sie die Samba-Konfiguration mit dem folgenden Befehl:

testparm

Sie sollten die folgende Ausgabe sehen:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns proxy = No
    map to guest = Bad User
    netbios name = SAMBA-SERVER
    security = USER
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    guest ok = Yes
    path = /samba/share/public
    read only = No

SELinux und Firewall konfigurieren

Als Nächstes setzen Sie die richtigen SELinux-Boolean- und Sicherheitskontextwerte für das Freigabeverzeichnis mit dem folgenden Befehl:

setsebool -P samba_export_all_ro=1 samba_export_all_rw=1  
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"  
restorecon /samba/share/public

Als Nächstes erlauben Sie allen Samba-Diensten durch firewalld mit dem folgenden Befehl:

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

Greifen Sie von Ubuntu Gnome auf die Samba-Freigabe zu

Um auf die Samba-Freigabe zuzugreifen, gehen Sie zum Remote-Computer, öffnen Sie den Gnome-Dateimanager und klicken Sie auf Mit Server verbinden, wie unten gezeigt:

Zugriff auf SAMBA von Gnome

Geben Sie die IP-Adresse Ihres Samba-Servers ein und klicken Sie auf die Schaltfläche Verbinden. Nach erfolgreicher Verbindung sollten Sie die Samba-Freigabe auf dem folgenden Bildschirm sehen:

Samba-Freigabe im Datei-Explorer

Jetzt klicken Sie auf das Verzeichnis Öffentlich, Sie sollten Ihre Dateien auf dem folgenden Bildschirm sehen:

Dateiliste

Greifen Sie von der Ubuntu-Befehlszeile auf die Samba-Freigabe zu

Sie können auch von der Befehlszeile auf die Samba-Freigabe zugreifen.

Zuerst listen Sie alle verfügbaren Samba-Freigaben mit dem folgenden Befehl auf:

smbclient -L //45.58.38.51

Sie sollten die folgende Ausgabe sehen:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Public          Disk      
    IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

Sie können auch die Samba-Freigabe mit dem cifs-Protokoll einhängen. Dazu installieren Sie das Paket cifs-utils mit dem folgenden Befehl:

apt-get install cifs-utils -y

Als Nächstes hängen Sie die Samba-Freigabe im Verzeichnis /mnt mit dem folgenden Befehl ein:

mount -t cifs //45.58.38.51/public /mnt/

Sie werden aufgefordert, ein Passwort einzugeben, wie unten gezeigt:

Password for root@//45.58.38.51/public: 

Drücken Sie einfach die Enter-Taste, ohne ein Passwort einzugeben, um die Samba-Freigabe einzuhängen:

Sie können jetzt auf die Samba-Freigabe im Verzeichnis /mnt zugreifen:

ls /mnt/

Sie sollten die folgende Ausgabe sehen:

file1.txt  file2.txt

Erstellen Sie eine private Freigabe mit Samba

In diesem Abschnitt werden wir eine private Freigabe mit Samba erstellen, sodass nur authentifizierte Benutzer auf das private Freigabeverzeichnis zugreifen können.

Benutzer und Gruppe erstellen

Zuerst erstellen Sie eine Gruppe mit dem Namen private mit dem folgenden Befehl:

groupadd private

Als Nächstes erstellen Sie einen neuen Benutzer mit dem Namen privateuser und fügen ihn der privaten Gruppe hinzu:

useradd -g private privateuser

Als Nächstes setzen Sie das Passwort für den Benutzer mit dem folgenden Befehl:

smbpasswd -a privateuser

Ausgabe:

New SMB password:
Retype new SMB password:
Added user privateuser.

Erstellen Sie ein privates Freigabeverzeichnis

Als Nächstes erstellen Sie einen freigegebenen Ordner mit dem Namen private und erstellen auch zwei Dateien im privaten Verzeichnis:

mkdir -p /samba/share/private  
touch /samba/share/private/private1.txt  
touch /samba/share/private/private2.txt

Als Nächstes weisen Sie die richtigen Berechtigungen und den Besitz mit dem folgenden Befehl zu:

chmod -R 0770 /samba/share/private  
chown -R root:private /samba/share/private

Als Nächstes konfigurieren Sie den SELinux-Kontext für das private Verzeichnis mit dem folgenden Befehl:

semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"  
restorecon /samba/share/private

Samba konfigurieren

Als Nächstes öffnen Sie die Samba-Konfigurationsdatei und definieren die private Freigabe:

nano /etc/samba/smb.conf

Fügen Sie die folgenden Zeilen am Ende der Datei hinzu:

[Private]
path = /samba/share/private
valid users = @private     
guests ok = no
writable = yes
browsable = yes

Speichern Sie die Datei und schließen Sie sie, und starten Sie dann den Samba-Dienst neu, um die Änderungen anzuwenden:

systemctl restart smb

Als Nächstes überprüfen Sie die Samba-Konfiguration mit dem folgenden Befehl:

testparm

Sie sollten die folgende Ausgabe sehen:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns proxy = No
    map to guest = Bad User
    netbios name = SAMBA-SERVER
    security = USER
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    guest ok = Yes
    path = /samba/share/public
    read only = No


[Private]
    path = /samba/share/private
    read only = No
    valid users = @private

Greifen Sie von der Ubuntu-Befehlszeile auf die Samba-Freigabe zu

Zuerst greifen Sie mit dem folgenden Befehl auf die verfügbaren Freigaben zu:

smbclient -L //45.58.38.51

Sie sollten die folgende Ausgabe sehen:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Public          Disk      
    Private         Disk      
    IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

Als Nächstes verbinden Sie sich mit dem Samba-Server und listen die verfügbaren Freigaben mit dem folgenden Befehl auf:

smbclient //45.58.38.51/private -U privateuser

Sie werden aufgefordert, ein Passwort einzugeben, wie unten gezeigt:

Enter privateuser's password: 

Geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste, um auf die Samba-Shell zuzugreifen, wie unten gezeigt:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \>

Jetzt listen Sie die verfügbaren Freigaben mit dem folgenden Befehl auf:

smb: \> ls

Sie sollten die folgende Ausgabe sehen:

  \.                                   D        0  Tue Mar  3 10:03:22 2020
  ..                                  D        0  Tue Mar  3 10:01:56 2020
  private1.txt                        N        0  Tue Mar  3 10:03:17 2020
  private2.txt                        N        0  Tue Mar  3 10:03:22 2020

        51194 blocks of size 2097152. 49358 blocks available

Jetzt verlassen Sie die Samba-Shell mit dem folgenden Befehl:

smb: \>exit

Sie können die Samba-Freigabe auch im Verzeichnis /opt einhängen:

mount -t cifs -o user=privateuser //45.58.38.51/private /opt

Sie werden aufgefordert, ein Passwort einzugeben, wie unten gezeigt:

Password for privateuser@//45.58.38.51/private:  *********

Geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste, um die Samba-Freigabe einzuhängen.

Sie können jetzt Ihre Samba-Freigabe im Verzeichnis /opt überprüfen, wie unten gezeigt:

ls /opt/

Ausgabe:

private1.txt  private2.txt

Greifen Sie von Ubuntu Gnome auf die Samba-Freigabe zu

Um auf die Samba-Freigabe zuzugreifen, gehen Sie zum Remote-Computer, öffnen Sie den Gnome-Dateimanager und klicken Sie auf Mit Server verbinden, wie unten gezeigt:

Zugriff auf private Freigabe in Gnome

Geben Sie die IP-Adresse Ihres Samba-Servers ein und klicken Sie auf die Schaltfläche Verbinden. Nach einer erfolgreichen Verbindung sollten Sie die Samba-Freigabe auf dem folgenden Bildschirm sehen:

Öffentliche und private Freigabe

Jetzt klicken Sie auf das Verzeichnis Privat, geben Sie Ihren Benutzernamen und Ihr Passwort ein und klicken Sie dann auf die Schaltfläche Verbinden. Sie sollten Ihre Dateien auf dem folgenden Bildschirm sehen:

Anmeldung mit Benutzername und Passwort

Dateien

Herzlichen Glückwunsch! Sie haben erfolgreich den Samba-Server auf CentOS 8 installiert und konfiguriert.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.