Linux Samba, SMB, NFS
Samba installieren für SMB/Windows Zugriffsudo apt-get install samba samba-common
• Freigaben werden in /etc/samba/smb.cnf angelegt
; /etc/samba/smb.conf
[global]
workgroup = Arbeitsgruppe
security = share (Zugriff auf Share ohne Passwort, es gelten nur Verzeichnisrechte)
[public]
path = /public
guest ok = yes (Gästezugriff)
guest only = yes (nur Gäste, Zugriff wird dem Default-Account guest (nobody) zugeordnet)
[daten]
path = /public/uwe
username = uwe
writable = true
browseable = true (Verzeichnis ist sichtbar, unabhängig vom Zugang)
# /etc/samba/smb.conf (Bsp. user-security)
[global]
workgroup = Arbeitsgruppe
security = user
username map = /etc/samba/smbusers
encrypt passwords = yes
map to guest = bad user
guest account = nobody (alle Benutzer ohne Zuordnung in smbusers werden dem Account nobody zugeordnet)
[homes] (Home-Verzeichnis des Linux-Users ist sichbar + RW)
writeable = true
browseable = false
- Verzeichnis public usw. wird für "Arbeitsgruppe" angeboten
- per Default immer read-only = yes, wenn nicht anders angegeben
- security: share / user / server / domain / ads
• Freigabe-User müssen ein Systemkonto (sudo adduser USER) und ein Samba-Konto () sudo smbpasswd -a USER) besitzen, idealerweise mit gleichem Passwort
• gleichlautende Windows-Konten haben Zugriff entsprechend deren Linux-Konten
• es ist möglich, in /etc/samba/smbusers eine Zuordnung Linuxkonto = Windowskonto zu treffen (#root = administrator)
Zugriff auf SMB-Freigaben im Linux Dateimanager:smb://[IP-Adresse]
Zugriff auf SMB-Freigabe im Windows Dateimanager:\\192.168.178.20
smbstatus - gibt alle Freigaben, Clients + User aus
Tutorial NFS - Samba: https://administrator.de/tutorial/lan-server-nfs-und-samba-grundlagen-18828.html
SMB-/ NFS-Share (hdpool1) mit Samba direkt auf Proxmox-Host
- apt-get install nfs-kernel-server rpcbind - Dienste installieren, aktivieren, starten
(https://www.number13.de/zfs-dateisystem-mit-nfs-oder-samba-smb-freigeben/) - zfs set sharenfs='rw,no_root_squash,insecure' hdpool1 - Datenpool per NFS frei geben
- zfs set sharesmb=on pool-name/dataset-name - Datenpool als SMB frei geben
- apt-get install samba - Samba installieren, Freigabe und Berechtgungen einrichten
chmod 2775 /hdpool1 - Berechtigung setzen
(https://computingforgeeks.com/how-to-configure-samba-share-on-debian/) - nano /etc/samba/smb.conf - Abschnitt für Freigabe(n) einfügen
[daten1] comment = HD-Pool path = /hdpool1/daten1 writable = yes guest ok = no valid users = @smbshare force create mode = 770 force directory mode = 770 inherit permissions = yes
Test mit 'testparm' - smbclient '\\localhost\hdpool1' -U sambauser - Test vom eigenen Host
- ggf. Firewall für Samba öffnen
SMB-Freigabe mounten
• CIFS Dateisystem installieren:sudo apt-get install cifs-utils
• Mount-Verzeichnis (mnt/smb-mountpoint) mit MKDIR anlegen)
• Windows CIFS-Freigabe mounten:mount -t cifs -o user=MeinLinuxUser //192.168.1.10/Freigabe /mnt/smb-mountpoint
• Verzeichnis dauerhaft mounten: sudo nano /MyUser/.smbcredentials
- NAS Userdaten hinterlegen
username=maxmuster
password=geheimes-Passwort
domain=workgroup
sudo nano /etc/fstab
- Mount-Zeile in fstab eintragen//10.20.20.110/pool/smb-freigabe
/mnt/smb-mountpoint cifs
uid=DeinLinuxNutzername,gid=DeinLinuxNutzername,rw,user,credentials=/home/DeinLinuxNutzername/.smbcredentials
0 0
oder ohne .smbcredentials:
//server/files/home /mnt/EINHAENGEPUNKT cifs uid=1000,gid=1000,rw,user,username=NUTZERNAME,domain=uni-kiel.de 0 0
FSTAB wird als ROOT ausgeführt. Für andere User muß man ggf. die User-ID und die Group-ID hinterlegen.
Die IDs eines Users ermittelt man über folgende Befehle:
id -u USERNAME
id -g USERNAME
Anschließend die ermittelte uid=Nummer und gid=Nummer in den Syntax einbinden.
//servername/sharename /media/windowsshare cifs credentials=/home/ubuntuusername/.smbcredentials, uid=1000,gid=1001,iocharset=utf8,sec=ntlm 0 0
Samba-Server Dienst neu starten:
"sudo service smbd restart" oder "sudo /etc/init.d/smbd restart" sowie "sudo initctl restart smbd"
Alle SMB-Freigaben (per anonymus) testen:
smbclient -N -L //192.168.1.2/
Alle SMB-Freigaben (per User) testen:
smbclient -U User -L //192.168.1.2/
Quelle: https://homelabtopia.com/smb-share-mounten-linux/