⬅️ **[[$-Tools|Tools]]**
***
# Samba file server
- [Ubuntu Wiki: Samba](http://wiki.ubuntuusers.de/Samba)
- [Ubuntu Wiki: Samba Client](https://wiki.ubuntuusers.de/Samba_Client_smbclient/)
```sh
sudo apt install samba
# evtl. auch samba-common-bin
# Check its service is active and running:
systemctl status smbd --no-pager -l
# To make the service enabled to start automatically with system boot, here is the command:
sudo systemctl enable --now smbd
# Allow samba in Ubuntu 22.04 Firewall
sudo ufw allow samba
# add the current System user to the SambaShare group
sudo usermod -aG sambashare $USER
# set the password for share
sudo smbpasswd -a $USER
# edit config and restart service
/etc/samba/smb.conf
/etc/init.d/smbd restart
```
## Use 'smbclient' to access Samba Share via Commandline
| Definitionen | Description |
|:----------------------------------------- |:----------------------------------------------------- |
| Installation RedHat: | `sudo yum install samba-client` |
| Auflistung der Shares eines Hosts | `smbclient -U <smb_user> -L <host>` |
| Connect to a Share with User and Password | `smbclient -U <smb_user> <host>\<share> '<password>'` |
| | |
## Userverwaltung bei Samba:
- List all Samba Users `sudo pdbedit -L -v`
- man muss Systemuser sein um in Samba eingetragen zu sein!
```bash
sudo smbpasswd -a <username> # Fügt den Benutzer <username> der Samba Datenbank hinzu und aktiviert diesen
sudo smbpasswd -x <username> # Entfernt den Benutzer <username> aus der Samba Datenbank
sudo smbpasswd -d <username> # Deaktiviert den Benutzer <username> in der Datenbank
sudo smbpasswd -e <username> # Aktiviert den vorher deaktivierten Benutzer <username> in der Datenbank wieder
```
- Es ist ratsam, aber nicht erforderlich, für Samba das gleiche Passwort wie das Systempasswort des Benutzers zu nehmen.
- Falls man Systemuser ohne Home Verzeichnis will und nur für Samba will:
```bash
sudo adduser --no-create-home --disabled-login --shell /bin/false <username>
```
## Example smb.conf configuration
- SMB User wiederherstellen
```
sudo smbpasswd -a tobi
sudo chmod 777 PhotoUpload
sudo /etc/init.d/samba restart
systemctl start smb.service
```
- Config `/etc/samba/smb.conf`
```
[PhotoUpload]
path = /media/PhotoUpload
comment = Fotos zum Zwischenspeichern von PhotoSync zu Server
browsable = yes
writeable = yes
create mask = 0775
directory mask = 0775
force user = tobi
```
### Public Share
```
[MCE-Public]
path = /mnt/MCE-Data/MCE-Public
comment = MCE Share für alle offen
browsable = yes
writeable = yes
create mask = 0775
directory mask = 0775
public = yes
guest ok = yes
```