Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ SMB Dateifreigaben
Sie können Azure-Dateifreigaben in Linux-Distributionen mit dem SMB kernel client einbinden.
In diesem Artikel wird gezeigt, wie Sie eine Azure-Dateifreigabe über SMB mithilfe der NTLMv2-Authentifizierung (Speicherkontoschlüssel) einbinden. Aus Sicherheitsgründen empfiehlt Microsoft identitätsbasierte Authentifizierung. Siehe Aktivieren der Active Directory-Authentifizierung über SMB für Linux-Clients, die auf Azure Files zugreifen.
Protokolle
Standardmäßig erzwingt Azure Files die Verschlüsselung während der Übertragung. Die SMB-Verschlüsselung ist ab SMB 3.0 verfügbar. Azure Files unterstützt auch SMB 2.1, was die SMB-Verschlüsselung nicht unterstützt. Aus Sicherheitsgründen erlaubt Azure Files daher nicht das Einbinden von Dateifreigaben über SMB 2.1 aus einer anderen Azure-Region oder von einem lokalen Netzwerk ohne zusätzliche Netzwerkkonfiguration. Sie sollten SMB 3.1.1 verwenden, es sei denn, Ihre Anwendung erfordert eine ältere Version.
| Verteilung | SMB 3.1.1 (Empfohlen) | SMB 3.0 |
|---|---|---|
| Linux-Kernelversion |
|
|
| Ubuntu | AES-128-GCM-Verschlüsselung: 18.04.5 LTS+ | AES-128-CCM-Verschlüsselung: 16.04.4 LTS+ |
| Red Hat Enterprise Linux (RHEL) |
|
7.5 und höher |
| Debian | Basic: 10 und höher | AES-128-CCM-Verschlüsselung: 10+ |
| SUSE Linux Enterprise Server | AES-128-GCM-Verschlüsselung: 15 SP2+ | AES-128-CCM-Verschlüsselung: 12 SP2+ |
Wenn Ihre Linux-Verteilung nicht in der vorherigen Tabelle aufgeführt ist, überprüfen Sie die Linux-Kernelversion mithilfe des uname Befehls:
uname -r
Voraussetzungen
Installieren Sie cifs-utils
- Stellen Sie sicher, dass das cifs-utils-Paket installiert ist. Installieren Sie die neueste Version des cifs-utils-Pakets mithilfe des Paket-Managers auf der Linux-Verteilung Ihrer Wahl.
Verwenden Sie auf Ubuntu und Debian den apt Paketmanager.
sudo apt update
sudo apt install cifs-utils
Verwenden Sie bei anderen Distributionen den entsprechenden Paket-Manager, oder kompilieren Sie den Quellcode.
Überprüfen Sie die Verbindung von Port 445
Die neueste Version der Azure-Befehlszeilenschnittstelle (CLI). Informationen zum Installieren der Azure CLI finden Sie unter Installieren der Azure CLI und wählen Sie Ihr Betriebssystem aus. Wenn Sie lieber das Azure PowerShell Modul in PowerShell 6+ verwenden möchten, können Sie dies erreichen. Die Anweisungen in diesem Artikel gelten jedoch für die Azure CLI.
Stellen Sie sicher, dass Port 445 geöffnet ist: SMB kommuniziert über TCP-Port 445. Stellen Sie sicher, dass Ihre Firewall oder Ihr ISP den TCP-Port 445 nicht vom Clientcomputer blockiert. Ersetzen Sie
<your-resource-group>und<your-storage-account>, und führen Sie dann das folgende Skript aus:RESOURCE_GROUP_NAME="<your-resource-group>" STORAGE_ACCOUNT_NAME="<your-storage-account>" # This command assumes you have logged in with az login HTTP_ENDPOINT=$(az storage account show \ --resource-group $RESOURCE_GROUP_NAME \ --name $STORAGE_ACCOUNT_NAME \ --query "primaryEndpoints.file" --output tsv | tr -d '"') SMBPATH=$(echo $HTTP_ENDPOINT | cut -c7-${#HTTP_ENDPOINT}) FILE_HOST=$(echo $SMBPATH | tr -d "/") nc -zvw3 $FILE_HOST 445Wenn die Verbindung erfolgreich ist, wird die Ausgabe ähnlich wie folgt angezeigt:
Connection to <your-storage-account> 445 port [tcp/microsoft-ds] succeeded!Sie können eine VPN-Verbindung oder Azure ExpressRoute verwenden, wenn Port 445 in Ihrem Netzwerk blockiert ist. Weitere Informationen finden Sie unter Überlegungen zum Netzwerk für den direkten Zugriff auf Azure-Dateifreigaben.
Berechtigungen
Alle Montageskripts in diesem Artikel stellen die Dateifreigaben mithilfe der Standardberechtigungen für 0755 Linux-Dateien und -Ordner fest. Diese Berechtigungseinstellung gewährt Lese-, Schreib- und Ausführungsrechte für den Datei- oder Verzeichnisbesitzer sowie Lese- und Ausführungsrechte für Benutzer in der Besitzergruppe und anderen Benutzern. Je nach den Sicherheitsrichtlinien Ihrer Organisation sollten Sie möglicherweise alternative Berechtigungen uid/gid oder dir_mode und file_mode in den Bereitstellungsoptionen festlegen. Weitere Informationen zum Festlegen von Berechtigungen finden Sie unter UNIX-Symbolnotation. Eine Liste der Einbindungsoptionen finden Sie unter Einbindungsoptionen.
Unterstützung von Berechtigungen im Unix-Stil
Sie können auch Unterstützung für Berechtigungen im UNIX-Format für Azure-SMB-Dateifreigaben erhalten, indem Sie die durch den Client erzwungene Zugriffssteuerung verwenden und modefromsid,idsfromsid-Einbindungsoptionen zu Ihrem Einbindungsbefehl hinzufügen. Damit diese Unterstützung funktioniert:
- Alle Clients, die auf die Freigabe zugreifen, müssen diese unter Verwendung von
modefromsid,idsfromsideinbinden. - Die UIDs und GIDs müssen für alle Clients einheitlich sein.
- Clients müssen eine der folgenden unterstützten Linux-Distros ausführen: Ubuntu 20.04+, SLES 15 SP3+.
Verzögertes Schließen und Dual-Protokoll-Zugriff
Der Linux-SMB-Client verwendet eine Leistungsoptimierung namens verzögertes Schließen (Handle Caching). Wenn eine Anwendung eine Datei schließt, kann der Client das Senden der SMB CLOSE-Anforderung an den Server verzögern, standardmäßig für bis zu eine Sekunde, falls die Datei schnell erneut geöffnet wird. Wenn Azure Files die CLOSE-Anforderung empfängt, die einem Schreibvorgang folgt, aktualisiert sie die Zeit der letzten Änderung (LMT) der Datei und daher das ETag.
Wenn Sie über SMB und die FileREST-API auf dieselbe Dateifreigabe zugreifen (Zugriff über zwei Protokolle), kann diese Verzögerung zu einer Racebedingung führen. Nachdem ein SMB-Client das Schreiben und Schließen einer Datei abgeschlossen hat, kann ein REST-Client, der das ETag der Datei liest und einen bedingten Vorgang startet, mit einem Fehler "Datei wurde gleichzeitig geändert" (HTTP 412-Vorbedingungsfehler) fehlschlagen, wenn die verzögerte CLOSE-Anforderung eingeht und die LMT und ETag aktualisiert.
Bei Workloads, die Dateien von einem SMB-Writer an einen REST-basierten Reader übergeben, deaktivieren Sie das verzögerte Schließen, indem Sie die Mount-Option closetimeo=0 hinzufügen. Diese Option zwingt den Client, die SMB-CLOSE-Anforderung sofort zu senden (und damit LMT und ETag abzuschließen), wodurch die Racebedingung bei geringfügigen Einbußen bei der Öffnungs- und Schließleistung beseitigt wird.
Bedarfsgesteuertes Einbinden der Azure-Dateifreigabe mit „Einbinden“
Wenn Sie eine Dateifreigabe unter einem Linux-Betriebssystem einbinden, wird Ihre Remotedateifreigabe als Ordner in Ihrem lokalen Dateisystem angezeigt. Du kannst Dateifreigaben überall auf deinem System einbinden. Im folgenden Beispiel wird die Dateifreigabe unter dem Pfad /media eingebunden. Du kannst diesen Pfad ändern, indem du die Variable $MNT_ROOT änderst.
Ersetzen Sie <resource-group-name>, <storage-account-name> und <file-share-name> durch die entsprechenden Informationen für Ihre Umgebung:
RESOURCE_GROUP_NAME="<resource-group-name>"
STORAGE_ACCOUNT_NAME="<storage-account-name>"
FILE_SHARE_NAME="<file-share-name>"
MNT_ROOT="/media"
MNT_PATH="$MNT_ROOT/$STORAGE_ACCOUNT_NAME/$FILE_SHARE_NAME"
sudo mkdir -p $MNT_PATH
Initialisieren Sie als Nächstes die Anmeldeinformationsdatei, indem Sie das folgende Skript ausführen.
# Create a folder to store the credentials for this storage account and
# any other that you might set up.
CREDENTIAL_ROOT="/etc/smbcredentials"
sudo mkdir -p "/etc/smbcredentials"
# Get the storage account key for the indicated storage account.
# You must be logged in with az login and your user identity must have
# permissions to list the storage account keys for this command to work.
STORAGE_ACCOUNT_KEY=$(az storage account keys list \
--resource-group $RESOURCE_GROUP_NAME \
--account-name $STORAGE_ACCOUNT_NAME \
--query "[0].value" --output tsv | tr -d '"')
# Create the credential file for this individual storage account
SMB_CREDENTIAL_FILE="$CREDENTIAL_ROOT/$STORAGE_ACCOUNT_NAME.cred"
if [ ! -f $SMB_CREDENTIAL_FILE ]; then
echo "username=$STORAGE_ACCOUNT_NAME" | sudo tee $SMB_CREDENTIAL_FILE > /dev/null
echo "password=$STORAGE_ACCOUNT_KEY" | sudo tee -a $SMB_CREDENTIAL_FILE > /dev/null
else
echo "The credential file $SMB_CREDENTIAL_FILE already exists, and was not modified."
fi
# Change permissions on the credential file so only root can read or modify the password file.
sudo chmod 600 $SMB_CREDENTIAL_FILE
Nun können Sie die Dateifreigabe mithilfe des Befehls mount unter Verwendung der Anmeldeinformationsdatei einbinden. Im folgenden Beispiel wird der Befehl $SMB_PATH mit dem vollqualifizierten Domänennamen für den Dateiendpunkt des Speicherkontos ausgefüllt. Siehe Mount-Optionen für eine Liste der SMB-Mount-Optionen.
Hinweis
Ab der Linux-Kernelversion 5.0 ist SMB 3.1.1 das ausgehandelte Standardprotokoll. Wenn Sie eine Version des Linux-Kernels verwenden, die älter als 5.0 ist, geben Sie in der Liste der Bereitstellungsoptionen vers=3.1.1 an.
# This command assumes you have logged in with az login
HTTP_ENDPOINT=$(az storage account show \
--resource-group $RESOURCE_GROUP_NAME \
--name $STORAGE_ACCOUNT_NAME \
--query "primaryEndpoints.file" --output tsv | tr -d '"')
SMB_PATH=$(echo $HTTP_ENDPOINT | cut -c7-${#HTTP_ENDPOINT})$FILE_SHARE_NAME
STORAGE_ACCOUNT_KEY=$(az storage account keys list \
--resource-group $RESOURCE_GROUP_NAME \
--account-name $STORAGE_ACCOUNT_NAME \
--query "[0].value" --output tsv | tr -d '"')
sudo mount -t cifs $SMB_PATH $MNT_PATH -o credentials=$SMB_CREDENTIAL_FILE,serverino,nosharesock,actimeo=30,mfsymlinks
Falls gewünscht, können Sie dieselbe Azure-Dateifreigabe auch in mehrere Bereitstellungspunkte einbinden.
Wenn Sie die Azure-Dateifreigabe nicht mehr benötigen, heben Sie deren Einbindung mit sudo umount $mntPath auf.
Automatisches Einbinden von Dateifreigaben
Wenn Sie eine Dateifreigabe unter einem Linux-Betriebssystem einbinden, wird Ihre Remotedateifreigabe als Ordner in Ihrem lokalen Dateisystem angezeigt. Du kannst Dateifreigaben überall auf deinem System einbinden. Im folgenden Beispiel wird die Dateifreigabe unter dem Pfad /media eingebunden. Du kannst diesen Pfad ändern, indem du die Variable $MNT_ROOT änderst.
MNT_ROOT="/media"
sudo mkdir -p $MNT_ROOT
Verwenden Sie den Namen des Speicherkontos als Benutzernamen der Dateifreigabe und den Speicherkontoschlüssel als Kennwort. Weil die Anmeldeinformationen für das Speicherkonto im Laufe der Zeit geändert werden können, sollten Sie diese getrennt von der Einbindungskonfiguration speichern.
Wenn du die Zugangsdatei im vorherigen Abschnitt bereits erstellt hast, überspringe zu statischem Mount oder dynamischem Mount mit Autofs. Ansonsten befolgen Sie diese Schritte, um es zu erstellen. Ersetzen Sie <resource-group-name> und <storage-account-name> durch die entsprechenden Angaben für Ihre Umgebung.
RESOURCE_GROUP_NAME="<resource-group-name>"
STORAGE_ACCOUNT_NAME="<storage-account-name>"
# Create a folder to store the credentials for this storage account and
# any other that you might set up.
CREDENTIAL_ROOT="/etc/smbcredentials"
sudo mkdir -p "/etc/smbcredentials"
# Get the storage account key for the indicated storage account.
# You must be logged in with az login and your user identity must have
# permissions to list the storage account keys for this command to work.
STORAGE_ACCOUNT_KEY=$(az storage account keys list \
--resource-group $RESOURCE_GROUP_NAME \
--account-name $STORAGE_ACCOUNT_NAME \
--query "[0].value" --output tsv | tr -d '"')
# Create the credential file for this individual storage account
SMB_CREDENTIAL_FILE="$CREDENTIAL_ROOT/$STORAGE_ACCOUNT_NAME.cred"
if [ ! -f $SMB_CREDENTIAL_FILE ]; then
echo "username=$STORAGE_ACCOUNT_NAME" | sudo tee $SMB_CREDENTIAL_FILE > /dev/null
echo "password=$STORAGE_ACCOUNT_KEY" | sudo tee -a $SMB_CREDENTIAL_FILE > /dev/null
else
echo "The credential file $SMB_CREDENTIAL_FILE already exists, and was not modified."
fi
# Change permissions on the credential file so only root can read or modify the password file.
sudo chmod 600 $SMB_CREDENTIAL_FILE
Zum automatischen Einbinden einer Dateifreigabe haben Sie die Wahl zwischen einem statischen Einbinden über das Hilfsprogramm /etc/fstab oder einem dynamischen Einbinden über das Hilfsprogramm autofs.
Statisches Einbinden mit „/etc/fstab“
Erstellen Sie mithilfe der zuvor beschriebenen Umgebung einen Ordner für Ihr Speicherkonto und Ihre Dateifreigabe unter Ihrem Einbindungsordner. Ersetzen Sie <file-share-name> durch den entsprechenden Namen Ihrer Azure-Dateifreigabe.
FILE_SHARE_NAME="<file-share-name>"
MNT_PATH="$MNT_ROOT/$STORAGE_ACCOUNT_NAME/$FILE_SHARE_NAME"
sudo mkdir -p $MNT_PATH
Erstellen Sie abschließend einen Datensatz in der Datei /etc/fstab für Ihre Azure-Dateifreigabe. Im folgenden Befehl werden die standardmäßigen Linux-Datei- und Ordnerberechtigungen von 0755 verwendet. Diese Berechtigungen bedeuten Lese-, Schreib- und Ausführungsvorgänge für den Besitzer (basierend auf der Datei oder des Verzeichnis-Linux-Besitzers), Lesen und Ausführen für Benutzer in der Besitzergruppe und Lesen und Ausführen für andere Im System. Möglicherweise möchten Sie beim Einhängen je nach Bedarf alternative Berechtigungen für uid und gid oder dir_mode und file_mode festlegen. Weitere Informationen zum Festlegen von Berechtigungen finden Sie unter UNIX numeric notation (Numerische UNIX-Notation). Siehe Mount-Optionen für eine Liste der SMB-Mount-Optionen.
Tipp
Wenn Docker-Container, die .NET Core-Anwendungen ausführen, in der Lage sein sollen, in die Azure-Dateifreigabe zu schreiben, nehmen Sie nobrl in die SMB-Bereitstellungsoptionen auf, um zu verhindern, dass Anforderungen für Bytebereichssperrungen an den Server gesendet werden.
HTTP_ENDPOINT=$(az storage account show \
--resource-group $RESOURCE_GROUP_NAME \
--name $STORAGE_ACCOUNT_NAME \
--query "primaryEndpoints.file" --output tsv | tr -d '"')
SMB_PATH=$(echo $HTTP_ENDPOINT | cut -c7-${#HTTP_ENDPOINT})$FILE_SHARE_NAME
if [ -z "$(grep $SMB_PATH\ $MNT_PATH /etc/fstab)" ]; then
echo "$SMB_PATH $MNT_PATH cifs _netdev,nofail,credentials=$SMB_CREDENTIAL_FILE,serverino,nosharesock,actimeo=30,mfsymlinks" | sudo tee -a /etc/fstab > /dev/null
else
echo "/etc/fstab was not modified to avoid conflicting entries as this Azure file share was already present. You might want to double check /etc/fstab to ensure the configuration is as desired."
fi
sudo mount -a
Hinweis
Ab der Linux-Kernelversion 5.0 ist SMB 3.1.1 das ausgehandelte Standardprotokoll. Sie können alternative Protokollversionen mithilfe der vers Bereitstellungsoption angeben. Protokollversionen sind 3.1.1, 3.0und 2.1.
Dynamisches Einbinden mit „autofs“
Um eine Dateifreigabe dynamisch mit dem autofs-Dienstprogramm einzubinden, installieren Sie es mit Hilfe des Paketmanagers auf der Linux-Distribution Ihrer Wahl.
Verwenden Sie bei Ubuntu- und Debian-Distributionen den Paket-Manager apt:
sudo apt update
sudo apt install autofs
Aktualisieren Sie als Nächstes die Konfigurationsdateien autofs. Eine Liste der SMB-Einhängeoptionen finden Sie unter Einhängeoptionen.
FILE_SHARE_NAME="<file-share-name>"
HTTP_ENDPOINT=$(az storage account show \
--resource-group $RESOURCE_GROUP_NAME \
--name $STORAGE_ACCOUNT_NAME \
--query "primaryEndpoints.file" --output tsv | tr -d '"')
SMB_PATH=$(echo $HTTP_ENDPOINT | cut -c7-$(expr length $HTTP_ENDPOINT))$FILE_SHARE_NAME
echo "$FILE_SHARE_NAME -fstype=cifs,credentials=$SMB_CREDENTIAL_FILE,serverino,nosharesock,actimeo=30,mfsymlinks :$SMB_PATH" > /etc/auto.fileshares
echo "/fileshares /etc/auto.fileshares --timeout=60" > /etc/auto.master
Der letzte Schritt ist ein Neustart des Diensts autofs.
sudo systemctl restart autofs
Einrichten mit Passwortrotation
Das regelmäßige Drehen von Kennwörtern (Speicherkontoschlüssel) ist eine bewährte Methode für die Sicherheit. In der Vergangenheit erforderte diese Praxis jedoch einige geplante Ausfallzeiten. Jetzt können Sie die Bereitstellungsoption password2= angeben, sodass die Dateifreigabebereitstellung auch dann ohne Ausfallzeiten für Benutzer verfügbar bleibt, wenn das primäre Kennwort abläuft oder geändert wird. Dieser optionale zweite geheime Wert, den Sie an den Linux-SMB-Client übergeben, ermöglicht eine nahtlose Rotation der Anmeldeinformationen, ohne die Freigabe auszuhängen oder E/A zu unterbrechen.
Wenn diese Mount-Option vorhanden ist, akzeptiert der Client sowohl password als auch password2 beim Sitzungsaufbau und bei erneuten Verbindungen, sodass Sie einen neuen Schlüssel einführen können, während der alte Schlüssel noch verwendet wird.
Sie können password2 auf eine von zwei Arten angeben:
- In der SMB-Anmeldeinformationsdatei, die den Benutzernamen und das Kennwort enthält
- Zum Aktualisieren einer vorhandenen Volume-Bereitstellung in der Befehlszeile:
-o password2=new-secret, auch über-o remountwährend der Rotation
Voraussetzungen
Sie benötigen cifs-utils, Version 7.4 oder höher, um die password2 Mount-Option zu verwenden. Zusätzlich zum richtigen Cifs-utils-Paket muss Ihre Linux-Verteilung die mindestens erforderlichen Kernelversionen unterstützen, wie in der folgenden Tabelle hervorgehoben:
| Distribution | Loslassen | Unterstützte Kernel-Version |
|---|---|---|
| Ubuntu | 22.04 LTS | 6.8-1027 |
| Ubuntu | 24,04 LTS | 6.14.0-1006 |
| RHEL (Red Hat Enterprise Linux) | 9.5 | 5.14.0-503.11.1.el9_5 |
| RHEL (Red Hat Enterprise Linux) | 9.6 | 5.14.0-570.12.1.el9_6 |
| Alma | 9.6 | 5.14.0-570.12.1 |
| Rocky | 9.6 | 5.14.0-570.17.1 |
Hinweis
Wenn Ihre Verteilung nicht in der Liste enthalten ist, verfügt sie derzeit nicht über die erforderlichen Backports aus Kernel 6.6 Stable Branch.
Per Anmeldeinformationsdatei
Platzieren Sie beide geheimen Schlüssel in Ihrer Anmeldeinformationsdatei, und binden Sie sie dann mit diesen Anmeldeinformationen ein. Aktualisieren Sie zunächst password2 auf den neuen Schlüssel, binden Sie neu ein, oder warten Sie auf die erneute Verbindung, und tauschen Sie dann die Werte im nächsten Wartungsfenster aus, damit der neue Schlüssel zu password wird.
# /etc/smbcredentials/<storage-account-name>.cred
username=<storage-account-name>
password=<current-key>
password2=<new-rotating-key>
Vorhandene Volume-Einbindung aktualisieren
Wenn Sie bereits ein Volume auf einer unterstützten Distribution mit einer geeigneten Version von cifs-utils eingebunden haben, können Sie den folgenden Befehl verwenden, um die Einhängeoption durch Hinzufügen der Option password2= zu ändern.
# During rotation:
sudo mount -o remount,password2=<new-rotating-key> /mnt/share
Einbindungsoptionen
Verwenden Sie beim Einbinden von SMB-Azure-Dateifreigaben unter Linux die folgenden Einbindungsoptionen.
| Bereitstellungsoption | Empfohlener Wert | Beschreibung |
|---|---|---|
username= |
Speicherkontoname | Erforderlich für die NTLMv2-Authentifizierung. |
password= |
Primärschlüssel des Speicherkontos | Erforderlich für die NTLMv2-Authentifizierung. |
password2= |
Sekundärschlüssel des Speicherkontos | Zur Schlüsselrotation ohne Ausfallzeit verwenden. |
mfsymlinks |
– | Empfohlen. Erzwingt die Unterstützung symbolischer Links durch den Einbindungsvorgang, sodass Anwendungen wie Git Repositories mit Symlinks klonen können. |
actimeo= |
30–60 | Empfohlen. Die Zeit in Sekunden, die der CIFS-Client Attribute einer Datei oder eines Verzeichnisses zwischenspeichert, bevor es Attributinformationen von einem Server anfordert. Die Verwendung eines Werts unter 30 Sekunden kann zu Leistungsbeeinträchtigungen führen, weil Attributcaches für Dateien und Verzeichnisse zu schnell ablaufen. Legen Sie actimeo zwischen 30 und 60 Sekunden fest. |
nosharesock |
– | Wahlfrei. Erzwingt, dass der Client immer eine neue Verbindung mit dem Server herstellt, auch wenn er über eine vorhandene Verbindung mit der SMB-Bereitstellung verfügt. Diese Verbindung kann die Leistung verbessern, da jeder Bereitstellungspunkt einen anderen TCP-Socket verwendet. In einigen Fällen kann nosharesock die Leistung beeinträchtigen, weil dieselbe Datei nicht zwischengespeichert wird, wenn sie über zwei Mounts auf demselben Client geöffnet wird. |
remount |
– | Bindet die Dateifreigabe neu ein und ändert die Einbindungsoptionen (sofern angegeben). Verwenden Sie dies mit der Option password2, um ein alternatives Kennwort anzugeben, mit dem ein abgelaufenes Kennwort nach dem ursprünglichen Einhängen korrigiert werden kann. |
nobrl |
– | Verwendung in Szenarien mit einem einzelnen Client, wenn Empfehlungssperren erforderlich sind. Azure Files unterstützt keine Hinweissperren, und diese Einstellung verhindert das Senden von Sperranforderungen für Bytebereiche an den Server. |
snapshot= |
time | Binden Sie eine bestimmte Momentaufnahme der Dateifreigabe ein. Die Zeit muss eine positive ganze Zahl sein, die die angeforderte Momentaufnahme in 100-Nanosekunden-Einheiten identifiziert, die seit dem 1. Januar 1601 vergangen sind, oder alternativ kann die Zeit im GMT-Format angegeben werden, z. B. @GMT-2024.03.27-20.52.19. |
closetimeo= |
1 | Konfiguriert das Timeout für verzögertes Schließen (Cache behandeln) in Sekunden oder deaktiviert es, wenn er auf 0 festgelegt ist. Der Standardwert ist 1 Sekunde. Legen Sie closetimeo=0 für Dual-Protocol-Workloads fest, z. B. wenn auf eine Dateifreigabe sowohl über SMB als auch über die REST-API zugegriffen wird. Weitere Informationen finden Sie unter verzögertes Schließen und Zugriff über zwei Protokolle. |
nostrictsync |
– | Weisen Sie den Server nicht an, bei „fsync()“ zu leeren. Einige Server führen standardmäßig nicht gepufferte Schreibvorgänge aus, und in diesen Fällen wäre das Leeren redundant. Diese Option kann die Leistung für Workloads verbessern, bei denen ein Client viele kleine Schreib- und fsync-Kombinationen ausführt und die Netzwerklatenz viel höher ist als die Serverlatenz. |
multiuser |
– | Ordnen Sie beim Zugriff auf den Server die Benutzerzugriffe einzelnen Anmeldeinformationen zu. Standardmäßig verwenden CIFS-Bereitstellungen beim Zugriff auf eine Freigabe nur einen Satz von Benutzeranmeldeinformationen (die Bereitstellungsanmeldeinformationen). Mit dieser Option erstellt der Client eine neue Sitzung auf dem Server mit den Anmeldeinformationen des Nutzers, wenn ein neuer Nutzer auf die Einbindung zugreift. Weitere Zugriffe durch diesen Benutzer verwenden auch diese Anmeldeinformationen. Da der Kernel nicht zur Eingabe von Kennwörtern auffordern kann, sind Mehrbenutzerbereitstellungen nur möglich, wenn bei Verwendung der sec=-Optionen keine Kennwörter erforderlich sind. |
cifsacl |
– | Dient zum Zuordnen von CIFS/NTFS-ACLs zu und von Linux-Berechtigungsbits, Zuordnen von SIDs zu und von UIDs und GIDs sowie Abrufen und Festlegen von Sicherheitsdeskriptoren. Dies wird nur bei der NTLMv2-Authentifizierung unterstützt. |
idsfromsid,modefromsid |
– | Wird verwendet, wenn der Client eine clientseitig erzwungene Autorisierung durchführen muss. Aktiviert Berechtigungen im Unix-Stil. Funktioniert nur, wenn UIDs und GIDs für alle Clients einheitlich sind. Dies wird nur bei der NTLMv2-Authentifizierung unterstützt. |
cruid= |
Benutzer-ID oder Benutzername | Wahlfrei. Legt die Benutzer-ID des Besitzers des Anmeldeinformationencaches fest. Dieser Wert ist in erster Linie nützlich bei sec=krb5. Die Standardeinstellung ist die echte Benutzer-ID des Prozesses, der das Einbinden ausführt. Setzen Sie diesen Parameter auf die UID bzw. den Benutzernamen des Benutzers, dessen Standard-Datei für den Anmeldeinformationscache die erforderlichen Kerberos-Tickets enthält. Dadurch wird der Upcall angewiesen, nach einem Cache für Anmeldeinformationen zu suchen, der diesem Benutzer gehört. |
sec= |
krb5 | Erforderlich für die Kerberos-Authentifizierung. Um den Kerberos-Sicherheitsmodus zu aktivieren, legen Sie sec=krb5 fest. Beispiel: sudo mount -t cifs $SMB_PATH $MNT_PATH -o sec=krb5,cruid=$UID,serverino,nosharesock,actimeo=30,mfsymlinks. Lassen Sie benutzernamen und kennwort bei Verwendung dieser Option weg. Der Linux-Client muss in eine Domäne eingebunden sein. Weitere Informationen finden Sie unter Aktivieren der Active Directory-Authentifizierung über SMB für Linux-Clients. |
uid= |
0 | Wahlfrei. Legt die UID fest, die alle Dateien oder Verzeichnisse im bereitgestellten Dateisystem besitzt, wenn der Server keine Besitzerinformationen bereitstellt. Geben Sie den Wert entweder als Benutzernamen oder als numerische UID an. Wenn keine Angabe erfolgt, wird der Standardwert 0 (null) verwendet. |
gid= |
0 | Wahlfrei. Legt den Gid fest, der alle Dateien oder Verzeichnisse im bereitgestellten Dateisystem besitzt, wenn der Server keine Besitzerinformationen bereitstellt. Geben Sie diese entweder als Gruppennamen oder als numerische GID an. Wenn keine Angabe erfolgt, wird der Standardwert 0 (null) verwendet. |
file_mode= |
– | Wahlfrei. Wenn der Server die CIFS Unix-Erweiterungen nicht unterstützt, überschreibt dieser Wert den Standarddateimodus. |
dir_mode= |
– | Wahlfrei. Wenn der Server die CIFS Unix-Erweiterungen nicht unterstützt, überschreibt dieser Wert den Standardmodus für Verzeichnisse. |
handletimeout= |
– | Wahlfrei. Die Zeit in Millisekunden, für die der Server das Dateihandle nach einem Failover reservieren soll, während er darauf wartet, dass der Client die Verbindung wiederherstellt. |
max_channels= |
4 | Aktiviert SMB Multichannel auf Linux CIFS-Mounts. Verwenden Sie immer den empfohlenen Wert (4) von SMB Multichannel-Verbindungen beim Zugriff auf Azure Files von Linux-Clients. |
Nächster Schritt
Weitere Informationen zur Verwendung von Azure-SMB-Dateifreigaben mit Linux finden Sie unter: