# Samba einrichten
## In a nutshell
``` bash
# Installation auf Server
sudo apt install samba
# Installation auf Linux-Client
sudo apt-get install smbfs smbclient
# Auf Host: Nutzer der Gruppe sambashare hinzufügen
sudo usermod -aG sambashare BENUTZERNAME
# Auf Host: Samba(!)-Passwort für Nutzer vergeben
sudo smbpasswd -a BENUTZERNAME (PASSWORT)
# In /etc/samba/smb.conf samba-Freigabe konfigurieren
[Name der Freigabe]
Pfad zum Ordner
Parameter: schreibbar?
Parameter: Gast ok?
# Client Linux: smb-Freigabe-Ordner einhängen
sudo mount -t cifs //Host-IP/BENUTZERNAME/media/ -o username=BENUTZERNAME
# Client Windows
net use Z: \\Host-IP\Foto /user:admini
```
## Installation
**Server**
```
sudo apt install samba
```
**Client (Linux)**
```
sudo apt-get install smbfs smbclient
```
## Nutzerverwaltung
**Nutzer der Gruppe sambashare hinzufügen**
Der Nutzer muss der Linux-Gruppe `sambashare` hinzugefügt werden.
```
sudo usermod -aG sambashare BENUTZERNAME
```
**Benutzerkonten zur Samba-Datenbank hinzufügen**
- bestehende User-Accounts zunächst aktivieren
- Einige Linux-Distributionen synchronisieren die auf dem Linuxsystem
vorhandenen User
- Andernfalls: Benutzerkonten manuell verwalten, damit die betreffenden
Nutzer die entsprechenden Netzwerkdienste in Anspruch nehmen können.
Die Benutzerkonten-Verwaltung wird über den Befehl `smbpasswd` mit den
vier Parametern `-a, -x, -d und -e` gesteuert. Die jeweiligen
Befehlszeilen sehen wie folgt aus:
```
sudo smbpasswd -a BENUTZERNAME (PASSWORT)
sudo smbpasswd -x BENUTZERNAME (Benutzer entfernen)
sudo smbpasswd -d BENUTZERNAME (Benutzer disablen)
sudo smbpasswd -e BENUTZERNAME (Benutzer enablen)
```
## Freigaben Einrichten
Freigaben werden in der Samba-Konfigurationsdatei `smb.conf` auf dem
Server gespeichert
```
sudo nano /etc/samba/smb.conf
```
Folgende Notation wird angewendet:
```
[Name der Freigabe]
Pfad zum Ordner
Parameter: schreibbar?
Parameter: Gast ok?
```
[Beispiel]{.underline}
[Foto]
path= /dokument/foto
writeable = yes
guest ok = no
Anschließend Änderungen übernehmen mit `service`
```
sudo service smbd reload
```
oder mit `systemctl`
```
sudo systemctl reload smbd
```
## Anmeldung am Client
**Linux**
Für einen Verbindungstest
```
smbclient -U BENUTZERNAME-L 192.168.56.101
```
**smb-Freigabe-Ordner einhängen**
```
sudo mount -t cifs //Host-IP/BENUTZERNAME/media/ -o username=BENUTZERNAME
```
**Windows PowerShell**
Um die Freigabe unter Windows nutzen zu können, muss diese auch dort
eingerichtet werden.
```
net use \\Host-IP\Freigabename /user:USERNAME
```
[Beispiel]{.underline}
```
net use \\Host-IP\Foto /user:admini
```
Bei Bedarf kann auch gleich ein -noch nicht vergebener-
Laufwerks-Buchstabe vergeben werden:
```
net use Z: \\Host-IP\Foto /user:admini
```
## Links
smbclient auf ubuntuusers.de
Thomas-Krenn.com