The Geek Diary

Was ist Samba

Für die gemeinsame Nutzung von Druckern und Dateien verwendet Microsoft Windows eine Einrichtung, die als SMB (Server Message Block) bekannt ist. Diese Einrichtung ist auch unter dem Namen NetBIOS oder LanManager bekannt. Dank Andrew Tridgell und anderen bieten Linux-Systeme Unterstützung für SMB über ein Paket namens Samba. Wie SMB ermöglicht Samba:

  • Drucker und Dateien zwischen Microsoft Windows-, OS/2-, Netware- und Unix-Systemen auszutauschen
  • Einen einfachen Nameserver zur Identifizierung von Systemen in Ihrem lokalen Netzwerk einzurichten
  • PC-Dateien auf einem Linux-System zu sichern und wiederherzustellen
  • Benutzer und Passwörter zu verwalten

Samba hat seine Zuverlässigkeit und hohe Leistung in vielen Unternehmen bewiesen.Die Samba-Software-Suite auf Enterprise Linux ist eine Sammlung von Programmen, die das Server Message Block (allgemein als SMB abgekürzt) Protokoll für UNIX-Systeme implementiert.

Samba installieren

In Enterprise Linux-System, installieren Sie die folgenden Pakete, um mit Samba zu beginnen. Sie können diese Pakete vom yum-Server mit dem Befehl „yum install“ herunterladen/installieren.

samba #### basic Samba packagessamba-client #### samba client

Um diese Pakete zu installieren:

# yum install samba# yum install samba-client

Wenn Sie ein Active Directory-Setup verwenden, installieren Sie auch die folgenden Pakete.

# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator

Nachfolgend finden Sie eine Liste der Pakete, die installiert werden, sobald Sie die oben genannten Pakete installiert haben.

samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba

Konfiguration einer Samba-Freigabe

Die Konfiguration von Samba befindet sich normalerweise in /etc/samba/smb.conf, die alle Konfigurationsparameter in Bezug auf Samba enthält. Führen Sie die folgenden Schritte aus, um eine Samba-Freigabe zu konfigurieren.

1. Damit ein bestimmter Benutzer auf die Freigabe zugreifen kann, müssen wir zunächst einen Benutzer (john) auf dem Linux-Server anlegen, auf dem sich die Freigabe ebenfalls befindet.

# useradd john

# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.

2. Um den Samba-Benutzer zu aktivieren und das Passwort festzulegen, verwenden Sie den Befehl „smbpasswd“ mit der Option -a.

# smbpasswd -a john

3. Erstellen Sie das Verzeichnis für die Freigabe oder verwenden Sie ein vorhandenes Verzeichnis. Setzen Sie auch volle Berechtigungen für das Verzeichnis.

# mkdir -p /path/to/share# chmod -R 777 /path/to/share

4. Als nächstes setzen Sie die SElinux-Kontexte auf der Freigabe. Überprüfen Sie, ob Sie eine Datei in der Freigabe erstellen können.

# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt

5. Bearbeiten Sie die Datei /etc/samba/smb.conf und fügen Sie die Freigabeeinstellungen hinzu.

# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes

Starten Sie den Samba-Dienst neu, damit die obigen Einstellungen wirksam werden.

# service smb restart

Fehlerbehebung

Um das Problem mit einer Samba-Freigabe herauszufinden, können Sie versuchen, den iptables-Dienst zu deaktivieren und SELinux auszuschalten. Stellen Sie sicher, dass Sie diese wieder aktivieren, nachdem Sie das Problem behoben haben.

# service iptables stop# setenforce 0

Überprüfen Sie die Samba-Parameter mit testparm
Um zu überprüfen, ob die Parameter in der Datei smb.conf korrekt sind oder um Konfigurationsprobleme zu beheben, verwenden Sie den Befehl testparm.

logs
Für die Fehlersuche bei Problemen mit Samba im Allgemeinen sind die Protokolldateien log.smbd und log.nmbd unter dem Verzeichnis /var/log/samba von unschätzbarem Wert. Der Parameter log level im globalen Abschnitt der Datei smb.conf bestimmt den Umfang der detaillierten Informationen, die Samba in die Protokolldateien schreibt, wobei level 0 die allgemeinste und 10 die detaillierteste ist. Jede Protokollierungsstufe enthält die Meldungen dieser Stufe zusätzlich zu den Meldungen der darunter liegenden Stufe. Eine Protokollierungsstufe von 5 enthält beispielsweise die Meldungen der Stufe 5 sowie die Meldungen der Stufen 0 bis 4.

# vi /etc/samba/smb.conf# this tells Samba to use a separate log file for each machine# that connectslog file = /var/log/samba/%m.logdebuglevel = 4

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.