Samba-Client

Das Common Internet File System (CIFS) ist ein Begriff aus der Microsoft-Welt und beschreibt eine erweiterte Version des Server Message Block (SMB), einem Protokoll für Datei- und Druckdienste. Der dafür in Linux verantwortliche Dienst heißt „Samba“. Dieses Kapitel beschreibt das Mounting eines entfernten, vorhandenen Samba-Shares, unabhängig davon, ob dieser durch einen Windows- oder Linux-Server angeboten wird.

Sofern man nicht Multiuser-Mounts oder AutoFS verwendet, werden SMB-Freigaben mit einem SMB-Benutzer gemountet, d.h. alle Benutzer des Linux-Clients, die die Freigabe nutzen, verwenden den gleichen SMB-Benutzer mit den gleichen Zugriffsrechten.

Wer seine ausgehende Firewall voll-restriktiv betreibt, muss Port 445/tcp (service „samba“) nach aussen freigeben.

CIFS-Mount (Samba/SMB)

Siehe CIFS-Mount (Samba/SMB).

Multiuser-Mounts

Seit RHEL 7 gibt es die Möglichkeit, über die Mount-Optionen multiuser und sec=ntlmssp separate Zugangsdaten für jeden Benutzer an den SMB-Server durchzureichen. root mountet die Freigabe mit einem Benutzer mit minimalen Rechten; die Benutzer des Systems übersteuern dies mit ihren eigenen Zugangsdaten und erhalten so die passenden Berechtigungen, die sie zum Arbeiten benötigen.

Als root:

yum -y install cifs-utils
mkdir /mnt/smb
mount --type cifs //smb-server/sharename \
    /mnt/smb --verbose \
    --options multiuser,user=mydomain\\myuser,\
     sec=ntlmssp

Für das permanente Mounting:

/root/smb.secrets
domain=mydomain
username=myuser
password=mypassword
chmod 0600 /root/smb.secrets
/etc/fstab
//smb-server/sharename /mnt/smb cifs multiuser,credentials=/root/smb.secrets,sec=ntlmssp 0 0
mkdir /mnt/smb
mount --all

Möchte der Benutzer „myuser“ auf die Freigabe zugreifen, muss er seine persönlichen Zugangsdaten zum SMB-Share dem Keyring in seiner Session hinzufügen, bevor er die Freigabe nutzen kann:

su - myuser
cifscreds add smb-server
# asks for password
cd /mnt/smb
touch myfile.txt

Samba Mount-Optionen

Security-Modi für den sec-Parameter sind:

  • Kerberos V5 Authentifizierung: sec=krb5

  • Kerberos Authentifizierung mit Paket-Signierung: sec=krb5i

  • NTLM Passwort-Hashing. Zum Beispiel bei Windows Server 2008: sec=ntlm

  • NTLM Passwort-Hashing mit Paket-Signierung: sec=ntlmi

  • NTLMv2 Passwort-Hashing: sec=ntlmv2

  • NTLMv2 Passwort-Hashing mit Paket-Signierung: sec=ntlmv2i

  • NTLMv2 Passwort-Hashing encapsulated in Raw NTLMSSP-Nachricht. Zum Beispiel ab Windows Server 2012 - oder für Multiuser-Mounts: sec=ntlmssp

  • NTLMv2 Passwort-Hashing encapsulated in Raw NTLMSSP-Nachricht mit Paket-Signierung: sec=ntlmsspi

RHEL 7 versucht sich ohne Angaben per ntlmssp zu authentifizieren; bis RHEL 6 wird ntlm als Standard verwendet.

Built on 2023-01-27