1. Installation von Samba
- Zuerst installieren wir Samba auf dem System.
- Für Debian/Ubuntu:
sudo apt update sudo apt install samba
- Für RedHat/CentOS/Fedora:
sudo dnf install samba
- Samba ermöglicht es, Dateien und Drucker im Netzwerk freizugeben.
2. Die Samba Konfigurationsdatei (smb.conf)
- Die Samba-Konfiguration wird in der Datei
/etc/samba/smb.conf
gespeichert.
- Fügen Sie eine neue Freigabe am Ende der Datei hinzu. Zum Beispiel:
[gemeinsam_rw] path = /samba/gemeinsam_rw valid users = alice, bob read only = no create mask = 0770 directory mask = 0770 browseable = yes
- In diesem Beispiel sind alice und bob berechtigt, auf die Freigabe mit Lese- und Schreibrechten zuzugreifen.
- Jede Freigabe wird durch
[Freigabename]
und die dazugehörigen Parameter wie
path
,
valid users
, und
read only
definiert.
3. Benutzer ohne Home-Verzeichnis hinzufügen
- Erstellen Sie Benutzer ohne Home-Verzeichnis mit folgendem Befehl:
sudo useradd -M -s /sbin/nologin benutzername
- Der Befehl
useradd
erstellt einen Benutzer ohne Home-Verzeichnis (
-M
) und ohne Anmeldezugang (
-s /sbin/nologin
).
- Fügen Sie Benutzer zu Samba hinzu:
sudo smbpasswd -a benutzername
- Der Befehl
smbpasswd -a
fügt den Benutzer zum Samba-Benutzerdatenbank hinzu.
4. Setzen von Passwörtern für Samba-Benutzer
- Setzen oder ändern Sie das Samba-Passwort für einen Benutzer mit:
sudo smbpasswd -a benutzername
- Der Befehl
-a
fügt den Benutzer zu Samba hinzu und legt gleichzeitig ein Passwort fest.
- Der Benutzer muss danach das gleiche Passwort wie das Systempasswort für den Samba-Zugang verwenden.
5. Erstellen und Verwenden von Gruppen für Samba-Benutzer
- Erstellen Sie eine Gruppe für Benutzer, die auf die Samba-Freigaben zugreifen sollen:
sudo groupadd sambagruppe
- Fügen Sie Benutzer der Gruppe hinzu:
sudo usermod -aG sambagruppe benutzername
- In der Samba-Konfiguration können Sie dann die Gruppe als gültige Benutzer angeben:
[gemeinsam_rw] path = /samba/gemeinsam_rw valid users = @sambagruppe read only = no create mask = 0770 directory mask = 0770 browseable = yes
- In diesem Fall sind alle Mitglieder der Gruppe sambagruppe berechtigt, auf die Freigabe zuzugreifen.
6. Nutzung von Verzeichnissen für verschiedene Benutzer (Einzelauflistung der Namen)
- In der Samba-Konfiguration können Sie Benutzer explizit auflisten:
[gemeinsam_rw] path = /samba/gemeinsam_rw valid users = alice, bob read only = no
- Das Beispiel zeigt, wie Sie alice und bob als berechtigte Benutzer angeben.
- Alternativ können Sie auch Gruppen verwenden, um mehrere Benutzer zu verwalten.
- Verwenden Sie
valid users = @gruppe
, um alle Mitglieder einer Gruppe zu berechtigen.
7. Beispiele für spezielle Freigaben
- Hier sind zwei zusätzliche Beispiele:
- Read-Only Freigabe:
[gemeinsam_ro] path = /samba/gemeinsam_ro valid users = alice, bob read only = yes browseable = yes
- In diesem Beispiel haben die Benutzer alice und bob nur Lesezugriff auf das Verzeichnis.
- Privates Verzeichnis für einen Nutzer:
[privat] path = /samba/privat valid users = alice read only = no browseable = no
- In diesem Beispiel hat nur alice Schreibzugriff auf das Verzeichnis. Andere Benutzer können nicht darauf zugreifen.
- Read-Only Freigabe:
8. Auflisten der System-Benutzer und -Gruppen
- Um alle Benutzer im System aufzulisten, verwenden Sie:
cut -d: -f1 /etc/passwd
- Dieser Befehl zeigt alle Benutzer, die auf dem System existieren, einschließlich Systembenutzern.
- Um nur normale Benutzer (UID ≥ 1000) anzuzeigen:
awk -F: ’$3 >= 1000 {print $1}’ /etc/passwd - Systemgruppen können ebenfalls angezeigt werden:
getent group
9. Auflisten der Samba-Benutzer in der Konfiguration
- Um alle Benutzer zu sehen, die Zugriff auf eine Freigabe haben, können Sie die
valid users
Direktive in der Samba-Konfiguration durchsuchen:
grep -E ”valid users” /etc/samba/smb.conf
- Dies zeigt Ihnen alle in der Konfiguration festgelegten Benutzer, die auf Freigaben zugreifen dürfen.
10. Samba-Dienst neu starten
sudo systemctl restart smbd