Samba Local User Management

Samba ist eine Open-Source-Software, die Linux-Systeme in die Lage versetzt, mit Windows-Netzwerken zu kommunizieren und Dateien sowie Drucker gemeinsam zu nutzen. Während Samba häufig in Verbindung mit Windows-Domänen verwendet wird, ist es ebenso leistungsfähig, wenn es darum geht, lokale Benutzer und Freigaben zu verwalten. In diesem Beitrag zeigen wir, wie Sie lokale Benutzer auf einem Linux-Server mit Samba verwalten und wie Sie die entsprechenden Dateifreigaben einrichten.

Was ist Samba?

Samba stellt Linux-Systeme als vollwertige Mitglieder in Windows-Netzwerken bereit. Es ermöglicht nicht nur den Zugriff auf Windows-Netzwerkfreigaben, sondern stellt auch Netzwerkdienste für Windows-Clients bereit. Ein weiterer wichtiger Aspekt von Samba ist die Verwaltung lokaler Benutzer auf dem Linux-System, die für den Zugriff auf Samba-Freigaben genutzt werden.

Voraussetzungen

Bevor Sie mit der Benutzerverwaltung beginnen, müssen Sie sicherstellen, dass Samba auf Ihrem System installiert ist. Auf den meisten Linux-Distributionen können Sie Samba über die Paketverwaltung installieren.

Für Debian/Ubuntu Systeme:

sudo apt update
sudo apt install samba smbclient

Für RHEL/CentOS Systeme:

sudo yum install samba samba-client

Sobald Samba installiert ist, sollten Sie überprüfen, ob der Samba-Dienst läuft und so konfiguriert ist, dass er beim Systemstart automatisch gestartet wird:

sudo systemctl start smbd
sudo systemctl enable smbd

sudo systemctl start smbd
sudo systemctl enable smbd

Samba Konfiguration: Lokale Benutzer und Freigaben

Samba speichert seine Konfiguration in der Datei /etc/samba/smb.conf. Um Samba für die lokale Benutzerverwaltung zu konfigurieren, müssen Sie die Konfigurationsdatei entsprechend anpassen.

Ein einfacher Abschnitt in der smb.conf für eine Freigabe könnte folgendermaßen aussehen:

[global]
   workgroup = WORKGROUP
   security = user
   map to guest = bad user

[freigabe]
   path = /srv/samba/freigabe
   browsable = yes
   read only = no
   guest ok = no
   valid users = @sambabenutzer
  • workgroup: Definiert die Arbeitsgruppe, in der sich das Samba-Server befindet. Standardmäßig ist dies „WORKGROUP“.
  • security = user: Stellt sicher, dass Benutzer sich authentifizieren müssen, um auf Freigaben zugreifen zu können.
  • map to guest = bad user: Weist ungültigen Benutzern den Gastzugriff zu (dies kann für Freigaben nützlich sein, die für nicht authentifizierte Benutzer verfügbar sein sollen).
  • valid users: Gibt an, welche Benutzer oder Gruppen Zugriff auf die Freigabe haben. In diesem Fall können alle Benutzer, die zur Gruppe „sambabenutzer“ gehören, auf die Freigabe zugreifen.

Hinzufügen lokaler Benutzer für Samba

Samba verwendet sein eigenes System zur Verwaltung von Benutzern, das auf den lokalen Linux-Benutzern basiert. Bevor ein Benutzer Samba verwenden kann, muss dieser sowohl als Linux-Benutzer als auch als Samba-Benutzer existieren.

1. Linux-Benutzer erstellen

Zuerst müssen Sie den lokalen Linux-Benutzer erstellen, der für die Samba-Anmeldung verwendet werden soll. Dies geschieht mit dem Befehl useradd.

sudo useradd -m benutzername
sudo passwd benutzername

Das -m Flag erstellt das Home-Verzeichnis des Benutzers. Anschließend setzen Sie ein Passwort für diesen Benutzer.

2. Benutzer zu Samba hinzufügen

Nachdem der Linux-Benutzer erstellt wurde, muss er auch in die Samba-Benutzerdatenbank aufgenommen werden. Dies geschieht mit dem Befehl smbpasswd:

sudo smbpasswd -a benutzername

Dieser Befehl fügt den Benutzer zur Samba-Benutzerdatenbank hinzu und fordert Sie auf, ein Passwort für den Samba-Zugriff festzulegen. Der Benutzer verwendet dieses Passwort, um auf Samba-Freigaben zuzugreifen.

3. Gruppen verwalten

Falls mehrere Benutzer Zugriff auf eine bestimmte Freigabe haben sollen, können Sie eine Gruppe erstellen und diese für die Verwaltung der Zugriffsrechte verwenden.

Erstellen Sie eine Gruppe und fügen Sie Benutzer hinzu:

sudo groupadd sambabenutzer
sudo usermod -aG sambabenutzer benutzername

Fügen Sie anschließend in der Samba-Konfiguration die Gruppe zu der Freigabe hinzu (wie oben in der valid users Zeile gezeigt).

Einrichten einer Samba-Freigabe

Samba ermöglicht die Freigabe von Verzeichnissen auf dem Linux-Server, die von Windows-Clients im Netzwerk verwendet werden können. Hier sind die grundlegenden Schritte, um eine Freigabe einzurichten:

1. Verzeichnis für die Freigabe erstellen

Erstellen Sie das Verzeichnis, das Sie freigeben möchten, und setzen Sie die entsprechenden Berechtigungen:

sudo mkdir -p /srv/samba/freigabe
sudo chown -R root:sambabenutzer /srv/samba/freigabe
sudo chmod -R 2770 /srv/samba/freigabe
  • chown setzt den Eigentümer des Verzeichnisses auf „root“ und die Gruppe auf „sambabenutzer“.
  • chmod 2770 setzt die Berechtigungen so, dass nur der Eigentümer und die Mitglieder der Gruppe „sambabenutzer“ Schreib- und Leserechte haben. Die 2 setzt das Set-GID-Bit, wodurch Dateien, die in diesem Verzeichnis erstellt werden, automatisch der Gruppe „sambabenutzer“ gehören.
2. Freigabe in Samba konfigurieren

Öffnen Sie die /etc/samba/smb.conf Datei und fügen Sie am Ende den Freigabeabschnitt hinzu:

[freigabe]
   path = /srv/samba/freigabe
   browsable = yes
   read only = no
   guest ok = no
   valid users = @sambabenutzer
  • path gibt den Pfad des freigegebenen Verzeichnisses an.
  • browsable = yes erlaubt es den Benutzern, die Freigabe im Netzwerk zu sehen.
  • read only = no erlaubt es Benutzern, Dateien in die Freigabe zu schreiben.
  • guest ok = no erlaubt keinen Gastzugriff, d. h., nur authentifizierte Benutzer dürfen zugreifen.
  • valid users = @sambabenutzer beschränkt den Zugriff auf Mitglieder der Gruppe „sambabenutzer“.
3. Samba-Dienst neu starten

Damit die Änderungen wirksam werden, müssen Sie den Samba-Dienst neu starten:

sudo systemctl restart smbd

Zugriff auf Samba-Freigaben

Sobald die Freigabe eingerichtet ist, können sich lokale Benutzer, die Sie zu Samba hinzugefügt haben, mit ihren Anmeldedaten anmelden und auf die Freigaben zugreifen.

  • Von Windows aus: Öffnen Sie den Datei-Explorer und geben Sie die IP-Adresse oder den Hostnamen des Linux-Servers im Format \\server-ip\freigabe ein.
  • Von Linux aus: Verwenden Sie den Befehl smbclient, um auf die Freigabe zuzugreifen:
smbclient //server-ip/freigabe -U benutzername

Zugriffsrechte und Sicherheit

Samba unterstützt eine flexible Verwaltung von Zugriffsrechten. Hier sind einige zusätzliche Optionen, die Sie für die Benutzerverwaltung und Sicherheit berücksichtigen können:

  • Benutzerbasierter Zugriff: Sie können spezifischen Benutzern Zugriff gewähren, anstatt nur Gruppen zu verwenden. Ändern Sie dazu einfach den Eintrag valid users in der Konfiguration zu:
valid users = benutzername1, benutzername2

Logging und Überwachung: Samba kann detaillierte Protokolle führen, die nützlich sind, um Zugriffe zu überwachen und Probleme zu diagnostizieren. In der smb.conf können Sie das Logging konfigurieren:

log file = /var/log/samba/log.%m
log level = 1
  • Feinabstimmung der Freigaben: Es gibt viele weitere Optionen zur Feinabstimmung der Freigaben. Beispielsweise können Sie festlegen, dass Dateien von Benutzern nur gelesen, aber nicht gelöscht werden dürfen, oder die Anzahl der gleichzeitigen Verbindungen beschränken.

Fazit

Die Verwaltung lokaler Benutzer mit Samba bietet eine einfache und flexible Möglichkeit, Dateifreigaben für Netzwerke mit gemischten Betriebssystemen bereitzustellen. Durch die Verwendung von Linux-Benutzern und -Gruppen können Sie den Zugriff auf Samba-Freigaben granular steuern und sicherstellen, dass nur autorisierte Benutzer auf Ihre Daten zugreifen können. Die Kombination von Samba und der leistungsfähigen Benutzerverwaltung unter Linux ermöglicht eine robuste und sichere Netzwerkinfrastruktur, die sowohl in kleinen als auch in großen Umgebungen eingesetzt werden kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert