Freigeben über


Einbinden von Azure-SMB-Dateifreigaben auf Linux-Clients

Azure-Dateifreigaben können mithilfe des SMB-Kernelclients in Linux-Distributionen eingebunden werden.

In diesem Artikel wird gezeigt, wie Sie mithilfe der NTLMv2-Authentifizierung (Speicherkontoschlüssel) eine SMB Azure-Dateifreigabe einbinden. Die Verwendung der identitätsbasierten Authentifizierung wird aus Sicherheitsgründen bevorzugt. Siehe Aktivieren der Active Directory-Authentifizierung über SMB für Linux-Clients, die auf Azure Files zugreifen.

Gilt für:

Verwaltungsmodell Abrechnungsmodell Medienebene Redundanz KMU NFS
Microsoft.Storage Bereitgestellt v2 HDD (Standard) Lokal (LRS) Ja Nein
Microsoft.Storage Bereitgestellt v2 HDD (Standard) Zone (ZRS) Ja Nein
Microsoft.Storage Bereitgestellt v2 HDD (Standard) Geografischer Raum (GRS) Ja Nein
Microsoft.Storage Bereitgestellt v2 HDD (Standard) GeoZone (GZRS) Ja Nein
Microsoft.Storage Bereitgestellt v1 SSD (Premium) Lokal (LRS) Ja Nein
Microsoft.Storage Bereitgestellt v1 SSD (Premium) Zone (ZRS) Ja Nein
Microsoft.Storage Nutzungsbasierte Bezahlung HDD (Standard) Lokal (LRS) Ja Nein
Microsoft.Storage Nutzungsbasierte Bezahlung HDD (Standard) Zone (ZRS) Ja Nein
Microsoft.Storage Nutzungsbasierte Bezahlung HDD (Standard) Geografischer Raum (GRS) Ja Nein
Microsoft.Storage Nutzungsbasierte Bezahlung HDD (Standard) GeoZone (GZRS) Ja Nein

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. Daher erlaubt Azure Files aus Sicherheitsgründen keine Bereitstellung von Dateifreigaben mit SMB 2.1 aus einer anderen Azure-Region oder lokal, 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
  • Basic 3.1.1-Unterstützung: 4.17
  • Standard-Bereitstellung: 5.0
  • AES-128-GCM-Verschlüsselung: 5.3
  • AES-256-GCM-Verschlüsselung: 5.10
  • Basic 3.0-Unterstützung: 3.12
  • AES-128-CCM-Verschlüsselung: 4.11
Ubuntu AES-128-GCM-Verschlüsselung: 18.04.5 LTS+ AES-128-CCM-Verschlüsselung: 16.04.4 LTS+
Red Hat Enterprise Linux (RHEL)
  • Basic: 8.0+
  • Standard-Bereitstellung: 8.2+
  • AES-128-GCM-Verschlüsselung: 8.2+
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 Tabelle aufgeführt ist, können Sie die Linux-Kernelversion mit dem uname Befehl überprüfen:

uname -r

Voraussetzungen

  • Vergewissern Sie sich, dass das cifs-utils-Paket installiert ist. Installieren Sie die aktuelle Version des Pakets „cifs-utils“ mithilfe des Paket-Managers Ihrer Linux-Distribution.

Verwenden Sie unter Ubuntu und Debian den Paket-Manager apt:

sudo apt update
sudo apt install cifs-utils

Verwenden Sie bei anderen Distributionen den entsprechenden Paket-Manager, oder kompilieren Sie den Quellcode.

  • 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 und höher verwenden möchten, können Sie dies tun. Allerdings beziehen sich die Anleitungen in diesem Artikel auf 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 445
    

    Wenn erfolgreich eine Verbindung hergestellt werden konnte, wird in etwa die folgende Ausgabe angezeigt:

    Connection to <your-storage-account> 445 port [tcp/microsoft-ds] succeeded!
    

    Sie können eine VPN-Verbindung oder 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 Bereitstellungsskripts in diesem Artikel stellen die Dateifreigaben mit den standardmäßigen Datei- und Ordnerberechtigungen 0755 von Linux bereit. Dies bedeutet: Lesen, Schreiben und Ausführen für den Datei-/Verzeichnisbesitzer, Lesen und Ausführen für Benutzer in der Besitzergruppe und Lesen und Ausführen für andere Benutzer. 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 dies funktioniert:

  • Alle Clients, die auf die Freigabe zugreifen, müssen mit modefromsid,idsfromsid eingebunden werden.
  • Die UIDs/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+

Bedarfsgesteuertes Einbinden der Azure-Dateifreigabe mit „Einbinden“

Wenn Sie eine Dateifreigabe unter einem Linux-Betriebssystem einbinden, wird Ihre Remotedateifreigabe in Ihrem lokalen Dateisystem als Ordner dargestellt. Sie können Dateifreigaben an einem beliebigen Ort in Ihrem System einbinden. Im folgenden Beispiel wird die Dateifreigabe unter dem Pfad /media eingebunden. Sie können dies in Ihren bevorzugten Pfad ändern, indem Sie die Variable $MNT_ROOT modifizieren.

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 in Ihrem lokalen Dateisystem als Ordner dargestellt. Sie können Dateifreigaben an einem beliebigen Ort in Ihrem System einbinden. Im folgenden Beispiel wird die Dateifreigabe unter dem Pfad /media eingebunden. Sie können dies in Ihren bevorzugten Pfad ändern, indem Sie die Variable $MNT_ROOT modifizieren.

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.

Im folgenden Beispiel wird gezeigt, wie Sie eine Datei zum Speichern der Anmeldeinformationen erstellen können. 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 in der früheren Umgebung unter Ihrem Einbindungsordner einen Ordner für Ihr Speicherkonto bzw. Ihre Dateifreigabe. 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 nachstehenden Befehl werden Linux-Datei- und -Ordnerberechtigungen mit dem Standardwert „0755“ verwendet. Dadurch erhalten Besitzer Lese-, Schreib- und Ausführungsberechtigungen (basierend auf dem Linux-Besitzer der Datei bzw. des Verzeichnisses). Benutzer in Besitzergruppen erhalten Lese- und Ausführungsberechtigungen und alle anderen Benutzer des Systems Lese- und Ausführungsberechtigungen. Es könnte ratsam sein, alternative uid- und gid- oder dir_mode- und file_mode-Berechtigungen für die Einbindung nach Wunsch festzulegen. 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 Bereitstellungsoption vers angeben (Protokollversionen sind 3.1.1, 3.0 und 2.1).

Dynamisches Einbinden mit „autofs“

Wenn Sie eine Dateifreigabe mit dem Hilfsprogramm autofs dynamisch einbinden möchten, installieren Sie sie mithilfe des Paket-Managers in 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. Siehe Mount-Optionen für eine Liste der SMB-Mount-Optionen.

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 es jedoch einige geplante Ausfallzeiten. Wir bieten nun die Möglichkeit, die Bereitstellungsoption „password2=“ anzugeben, damit die Dateifreigabe auch dann weiterhin ohne Ausfallzeiten für Benutzer funktioniert, wenn das primäre Kennwort abläuft oder geändert wird. Dies ist ein optionales, zweites Geheimnis, das Sie an den Linux SMB-Client übergeben können, um ein nahtloses Aktualisieren der Anmeldeinformationen zu ermöglichen, ohne die Einbindung der Freigabe aufzuheben oder die E/A zu unterbrechen.

Wenn diese Mount-Option vorhanden ist, akzeptiert der Client sowohl password als auch password2 während der Sitzungsinitialisierung oder bei erneuten Verbindungen, sodass Sie einen neuen Schlüssel einsetzen können, während der alte Schlüssel noch verwendet wird.

Es gibt zwei Möglichkeiten, wie Sie password2 bereitstellen können:

  • In der SMB-Anmeldeinformationsdatei, die den Benutzernamen und das Kennwort enthält
  • Aktualisieren Sie auf der Befehlszeile eine vorhandene Volume-Einbindung: -o password2=new-secret, einschließlich über „-o remount“ wä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 Kernelversion
Ubuntu 22.04 LTS 6.8-1027
Ubuntu 24.04 LTS 6.14.0-1006
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 gemountet haben, können Sie den folgenden Befehl verwenden, um die Einhängeoption zu ändern, indem Sie die Option password2= hinzufügen.

# During rotation:
sudo mount -o remount,password2=<new-rotating-key> /mnt/share

Einbindungsoptionen

Sie können zum Einbinden von Azure-SMB-Dateifreigaben unter Linux die folgenden Bereitstellungsoptionen verwenden.

Bereitstellungsoption Empfohlener Wert Beschreibung
username= Speicherkontoname Obligatorisch für die NTLMv2-Authentifizierung
password= Primärschlüssel des Speicherkontos Obligatorisch für die NTLMv2-Authentifizierung
password2= Sekundärschlüssel des Speicherkontos Empfohlen, wenn eine Schlüsselrotation ohne Downtime gewünscht ist
mfsymlinks Empfohlen. Erzwingt die Bereitstellung mit Unterstützung symbolischer Verknüpfungen (Symlinks), sodass Anwendungen wie Git Repositorys über Symlinks klonen können.
actimeo= 30–60 Empfohlen. Die Zeit (in Sekunden), in der der CIFS-Client Attribute einer Datei oder eines Verzeichnisses zwischenspeichert, bevor Attributinformationen von einem Server angefordert werden. Die Verwendung eines Werts unter 30 Sekunden kann zu Leistungsbeeinträchtigungen führen, weil Attributcaches für Dateien und Verzeichnisse zu schnell ablaufen. Es wird empfohlen, actimeo auf einen Wert zwischen 30 und 60 Sekunden festzulegen.
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. Dies kann die Leistung verbessern, da jeder Bereitstellungspunkt einen anderen TCP-Socket verwendet. In einigen Fällen kann nosharesock die Leistung beeinträchtigen, da nicht dieselbe Datei zwischengespeichert wird, wenn sie von zwei Einhängepunkten desselben Clients geöffnet wird.
remount Bindet die Dateifreigabe neu ein und ändert die Einbindungsoptionen (sofern angegeben). Verwenden Sie die password2-Option, wenn Sie ein alternatives Kennwort angeben möchten, um ein abgelaufenes Kennwort nach der ursprünglichen Einbindung zu korrigieren.
nobrl Empfohlen in Einzelclientszenarien, wenn Hinweissperren 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 identifiziert. Die Angabe erfolgt in Einheiten von 100 Nanosekunden seit dem 1. Januar 1601 oder alternativ im GMT-Format (z. B. @GMT-2024.03.27-20.52.19)).
closetimeo= 5 Konfiguriert das Timeout für das verzögerte Schließen (Cacheverarbeitung) in Sekunden oder deaktiviert es durch Festlegung auf 0 (null). Der Standardwert ist „5 Sekunden“.
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 von Workloads verbessern, bei denen ein Client viele kleine Schreibvorgänge in Kombination mit fsync ausführt und die Netzwerklatenz deutlich höher als die Serverlatenz ist.
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 Mit dieser Option werden CIFS/NTFS-Zugriffssteuerungslisten (ACLs) den Linux-Berechtigungsbits sowie SIDs den UIDs und GIDs zugeordnet. Außerdem werden damit Sicherheitsdeskriptoren abgerufen und festgelegt. Dies wird nur bei der NTLMv2-Authentifizierung unterstützt.
idsfromsid,modefromsid Empfohlen, wenn der Client eine vom Client erzwungene Autorisierung durchführen muss. Aktiviert Berechtigungen im Unix-Stil. Funktioniert nur, wenn die UIDs/GIDs bei allen 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. Dies ist vor allem bei sec=krb5 nützlich. Die Standardeinstellung ist die echte Benutzer-ID des Prozesses, der das Einbinden ausführt. Es wird empfohlen, diesen Parameter auf die Benutzer-ID oder den Benutzernamen des Benutzers festzulegen, der über die erforderlichen Kerberos-Tickets in seiner Standardcachedatei für Anmeldeinformationen verfügt. 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. Sie dürfen bei Verwendung dieser Option keinen Benutzernamen und kein Kennwort angeben. 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. Sie kann als Benutzername oder als numerische UID angegeben werden. 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. Sie kann als Gruppenname oder als numerische GID angegeben werden. Wenn keine Angabe erfolgt, wird der Standardwert 0 (null) verwendet.
file_mode= Wahlfrei. Wenn der Server keine CIFS-Unix-Erweiterungen unterstützt, wird damit der Standarddateimodus außer Kraft gesetzt.
dir_mode= Wahlfrei. Wenn der Server keine CIFS-Unix-Erweiterungen unterstützt, wird damit der Standardmodus für Verzeichnisse außer Kraft gesetzt.
handletimeout= Wahlfrei. Die Zeit (in Millisekunden), die der Server das Dateihandle nach einem Failover reservieren soll, um zu warten, bis der Client erneut eine Verbindung herstellt.

Nächster Schritt

Weitere Informationen zur Verwendung von Azure-SMB-Dateifreigaben mit Linux finden Sie unter: