Samba-Server mit Authentifizierung

Games & IT

Als erstes müssen wir den Samba-Server installieren
sudo apt install samba
Danach erstellen wir ein Backup der smb.conf Datei
sudo mv /etc/samba/smb.conf /etc/samba/conf.old
Nun erstellen wir eine neue Konfigurationsdatei
nano /etc/samba/smb.conf
Dort tragen wir Folgendes ein:
[global]
workgroup = workgroup
security = user
map to guest = never

[homes]
comment = Home Directories
browsable = no
read only = no
create mode = 0750

#Freigabename
[restricted]
#Beschränken auf einzelnen Nutzer "testuser"
valid users = testuser
#Alternativ via Nutzergruppe
#valid users = @testusers
path = /var/netzlaufwerk/
public = no
writable = yes
comment = smb restricted share
printable = no
guest ok = no
create mask = 0600
directory mask = 0700

[restricted] ist hier der Freigabename, unter dem wir später das Laufwerk finden werden. In dieser Konfiguration beschränken wir die Freigabe auf einen bestimmten Nutzer „testuser“. Alternativ kann auch eine Benutzergruppe die Freigabe erhalten.
path ist der Freigabeort. (Dieser muss existieren!)
Jetzt erstellen wir einen Nutzer, der später Zugriff erhalten soll
sudo useradd -s /bin/false testuser
Nun brauch der Nutzer noch ein Passwort
sudo smbpasswd -a smbuser
Den Path müssen wir nun Verzeichnisrechte erteilen. Damit nur der bestimmte Nutzer/Gruppe Lese- und Schreibrechte erhält, müssen wir folgendes eingeben:
sudo chown -R testuser:testuser /var/netzlaufwerk/testuser
sudo chmod 700 /var/netzlaufwerk/testuser
Jetzt müssen wir nur noch den Samba-Server neustarten
systemctl restart smbd.service
Nun können wir noch den Status des Samba-Servers abfragen
sudo systemctl status smbd.service
Dieser sollte dann etwa so aussehen:
● smbd.service - Samba SMB Daemon
  Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
  Active: active (running) since Wed 2020-03-18 08:05:38 CET; 10s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Process: 12057 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS)
Main PID: 12067 (smbd)
 Status: "smbd: ready to serve connections..."
    Tasks: 5 (limit: 3569)
   Memory: 8.2M
 CGroup: /system.slice/smbd.service
           ├─12067 /usr/sbin/smbd --foreground --no-process-group
           ├─12069 /usr/sbin/smbd --foreground --no-process-group
           ├─12070 /usr/sbin/smbd --foreground --no-process-group
           ├─12071 /usr/sbin/smbd --foreground --no-process-group
           └─12073 /usr/sbin/smbd --foreground --no-process-group
Mär 18 08:05:38 serverarbeit systemd[1]: Starting Samba SMB Daemon...
Mär 18 08:05:38 serverarbeit smbd[12067]: [2020/03/18 08:05:38.456854,  0] ../lib/util/become_daemon.c:138(daemon_ready)
Mär 18 08:05:38 serverarbeit systemd[1]: Started Samba SMB Daemon.
Mär 18 08:05:38 serverarbeit smbd[12067]:   daemon_ready: STATUS=daemon 'smbd' finished starting up and ready to serve connections

Nun ist das Laufwerk fertig eingerichtet und kann verwendet werden.
Netzlaufwerk unter Windows einbinden:
Gehe in deinen Explorer und klicke auf „Netzlaufwerk hinzufügen“
Nun wählst du einen Laufwerksbuchstaben aus. Der Pfad setzt sich wie folgt zusammen:
\\IP-des-Samba-Servers\freigabename

Du möchtest deine Samba Freigabe ein bestimmtes Kontingent zuweisen? Die Anleitung dafür findest du unter „Quota“