Linux クライアントに SMB Azure ファイル共有をマウントする

適用対象: ✔️ SMB ファイル共有

SMB カーネル クライアントAzure使用して、Linux ディストリビューションのファイル共有をマウントできます。

この記事では、NTLMv2 認証 (ストレージ アカウント キー) を使用して SMB Azure ファイル共有をマウントする方法について説明します。 セキュリティ上の理由から、Microsoftはアイデンティティベースの認証を推奨しています。 「Azure Files にアクセスする Linux クライアントに対して SMB 経由で Azure Active Directory 認証を有効にする」を参照してください。

プロトコル

既定では、Azure Files は転送中の暗号化を強制します。 SMB 暗号化は、SMB 3.0 以降を使用できます。 Azure Files では SMB 2.1 もサポートしていますが、これは SMB 暗号化をサポートしていません。 その結果、セキュリティ上の理由から、Azure Filesでは、別のAzure リージョンまたはオンプレミスから SMB 2.1 を使用してファイル共有をマウントすることは許可されません。ネットワーク構成は追加されません。 アプリケーションで特に古いバージョンが要求されている場合を除き、SMB 3.1.1 を使用する必要があります。

Distribution SMB 3.1.1 (推奨) SMB 3.0
Linux カーネル バージョン
  • 3.1.1 の基本サポート: 4.17
  • 既定でのマウント: 5.0
  • AES-128-GCM 暗号化: 5.3
  • AES-256-GCM 暗号化: 5.10
  • 3.0 の基本サポート: 3.12
  • AES-128-CCM 暗号化: 4.11
Ubuntu AES-128-GCM 暗号化: 18.04.5 LTS 以上 AES-128-CCM 暗号化: 16.04.4 LTS 以上
レッドハット・エンタープライズ・リックス(RHEL)
  • 基本: 8.0 以上
  • 既定でのマウント: 8.2 以上
  • AES-128-GCM 暗号化: 8.2 以上
7.5+
Debian 基本: 10 以上 AES-128-CCM 暗号化: 10 以上
SUSE Linux Enterprise Server AES-128-GCM 暗号化: 15 SP2 以上 AES-128-CCM 暗号化: 12 SP2 以上

Linux ディストリビューションが上記の表に記載されていない場合は、 uname コマンドを使用して Linux カーネルのバージョンを確認します。

uname -r

前提条件

cifs-utils をインストールする

  • cifs-utils パッケージがインストールされていることを確認します。 任意の Linux ディストリビューションでパッケージ マネージャーを使用して、cifs-utils パッケージの最新バージョンをインストールします。

Ubuntu と Debian では、 apt パッケージ マネージャーを使用します。

sudo apt update
sudo apt install cifs-utils

他のディストリビューションでは、適切なパッケージ マネージャーを使用するか、ソースからコンパイルします。

ポート445の接続性を確認してください

  • Azure コマンド ライン インターフェイス (CLI) の最新バージョン。 Azure CLI をインストールする方法の詳細については、Azure CLI のインストールに関するページを参照し、ご利用のオペレーティング システムを選択してください。 PowerShell 6 以降で Azure PowerShell モジュールを使用したい場合は、使用できます。 ただし、この記事の手順はAzure CLI用です。

  • ポート 445 が開かれていることを確認します。SMB は TCP ポート 445 経由で通信します。 ファイアウォールまたは ISP がクライアント コンピューターから TCP ポート 445 をブロックしていないことを確認します。 <your-resource-group><your-storage-account> を置き換えて、次のスクリプトを実行します。

    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
    

    接続に成功すると、次のような出力が表示されます。

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

    ネットワークでポート 445 がブロックされている場合は、VPN 接続またはAzure ExpressRouteを使用できます。 詳細については、直接の Azure ファイル共有アクセスのネットワークに関する考慮事項に関するページを参照してください。

アクセス許可

この記事のすべてのマウント スクリプトでは、既定の 0755 Linux ファイルとフォルダーのアクセス許可を使用してファイル共有をマウントします。 このアクセス許可設定は、ファイルまたはディレクトリの所有者に対する読み取り、書き込み、実行権限、および所有者グループおよび他のユーザーの読み取りと実行の権限を付与します。 組織のセキュリティ ポリシーによっては、マウント オプションで代替の uid/gid または dir_mode および file_mode アクセス許可を設定することもできます。 アクセス許可を設定する方法の詳細については、UNIX シンボリック表記に関するページを参照してください。 マウント オプションの一覧については、「マウント オプション」を参照してください。

Unix スタイルのアクセス許可のサポート

また、クライアントによるアクセス制御を使用し、マウント コマンドに modefromsid,idsfromsid マウント オプションを追加することで、SMB Azure ファイル共有のために Unix スタイルのアクセス許可もサポートできます。 このサポートを機能させるには、次の手順を実行します。

  • 共有にアクセスするすべてのクライアントは、 modefromsid,idsfromsidを使用してマウントする必要があります。
  • UID と GID は、すべてのクライアントで統一されている必要があります。
  • クライアントは、サポートされている Linux ディストリビューション (Ubuntu 20.04 以降、SLES 15 SP3 以降) のいずれかを実行している必要があります。

遅延クローズとデュアルプロトコルアクセス

Linux SMB クライアントは、 遅延クローズ (ハンドル キャッシュ) と呼ばれるパフォーマンス最適化を使用します。 アプリケーションがファイルを閉じると、ファイルがすぐに再び開かれた場合に備えて、クライアントは SMB CLOSE 要求のサーバーへの送信を最大 1 秒間遅延させることができます。 Azure Files書き込みの後に CLOSE 要求を受け取ると、ファイルの最終変更時刻 (LMT) とその ETag が更新されます。

SMB と FileREST API (デュアル プロトコル アクセス) の両方で同じファイル共有にアクセスすると、この遅延が競合状態を引き起こす可能性があります。 SMB クライアントがファイルの書き込みを完了して閉じた後、ファイルの ETag を読み取って条件付き操作を開始する REST クライアントは、遅延 CLOSE 要求が到着して LMT と ETag を更新すると、"ファイルが同時に変更されました" エラー (HTTP 412 Precondition Failed) で失敗する可能性があります。

SMB ライターと REST ベースのリーダーの間でファイルを渡すワークロードの場合は、 closetimeo=0 マウント オプションを追加して遅延終了を無効にします。 このオプションにより、クライアントは SMB CLOSE 要求 (および LMT と ETag の最終処理) を直ちに送信します。これにより、オープンおよびクローズのパフォーマンスでわずかなコストで競合状態が解消されます。

Azure ファイル共有を mount を使用してオンデマンドでマウントする

Linux OS上でファイル共有をマウントすると、リモートのファイル共有はローカルファイルシステム内のフォルダとして表示されます。 ファイルの共有はシステムのどこにでもマウントできます。 次の例では、/media パス下にマウントします。 $MNT_ROOT変数を変更することでこのパスを変えることができます。

<resource-group-name><storage-account-name><file-share-name> をお使いの環境に適した情報に置き換えます。

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

次に、以下のスクリプトを実行して資格情報ファイルを初期化します。

# 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

これで、mount コマンドと資格情報ファイルを使ってファイル共有をマウントできます。 次の例では、ストレージ アカウントのファイル エンドポイントの完全修飾ドメイン名を使って $SMB_PATH コマンドを設定しています。 SMB マウント オプションの一覧については、「マウント オプション」を参照してください。

Linux カーネル バージョン 5.0 以降でネゴシエートされる既定のプロトコルは SMB 3.1.1 です。 5.0 より前のバージョンの Linux カーネルを使用する場合は、mount のオプション リストに vers=3.1.1 を指定してください。

# 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

必要に応じて、同じ Azure ファイル共有を複数のマウント ポイントにマウントすることもできます。

Azure ファイル共有の使用を完了したら、sudo umount $mntPath を使用して共有のマウントを解除してください。

ファイル共有を自動的にマウントする

Linux OS上でファイル共有をマウントすると、リモートのファイル共有はローカルファイルシステム内のフォルダとして表示されます。 ファイルの共有はシステムのどこにでもマウントできます。 次の例では、/media パス下にマウントします。 $MNT_ROOT変数を変更することでこのパスを変えることができます。

MNT_ROOT="/media"
sudo mkdir -p $MNT_ROOT

ファイル共有のユーザー名としてストレージ アカウント名を使用し、パスワードとしてストレージ アカウント キーを使用します。 ストレージ アカウントの資格情報は時間が経つと変わる可能性があるため、ストレージ アカウントの資格情報は、マウントの構成とは別に保管しておく必要があります。

前のセクションですでに認証情報ファイルを作成している場合は、静的マウントまたはautofs を使用した動的マウントに進んでください。 それ以外の場合は、以下の手順に従って作成してください。 <resource-group-name><storage-account-name> をお使いの環境に適した情報に置き換えることを忘れないでください。

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

ファイル共有を自動的にマウントするには、/etc/fstab ユーティリティによる静的マウントを使用する方法と autofs ユーティリティによる動的マウントを使用する方法とがあります。

/etc/fstab を使用した静的マウント

以前の環境を使用して、ストレージ アカウントのフォルダーとファイル共有をマウント フォルダーの下に作成します。 <file-share-name> は、Azure ファイル共有の適切な名前に置き換えてください。

FILE_SHARE_NAME="<file-share-name>"

MNT_PATH="$MNT_ROOT/$STORAGE_ACCOUNT_NAME/$FILE_SHARE_NAME"
sudo mkdir -p $MNT_PATH

最後に、Azure ファイル共有のレコードを /etc/fstab ファイルに作成します。 次のコマンドでは、既定の 0755 Linux ファイルとフォルダーのアクセス許可が使用されます。 これらのアクセス許可は、所有者 (ファイルまたはディレクトリの Linux 所有者に基づく) の読み取り、書き込み、実行、所有者グループ内のユーザーに対する読み取りと実行、およびシステム上の他のユーザーに対する読み取りと実行を意味します。 マウントに対して、必要に応じて代替の uidgid 、または dir_modefile_mode 権限を設定したいかもしれません。 アクセス許可を設定する方法の詳細については、UNIX の数値表記に関する記事を参照してください。 SMB マウント オプションの一覧については、「マウント オプション」を参照してください。

ヒント

.NET Core アプリケーションを実行する Docker コンテナーが Azure ファイル共有に書き込めるようにする場合は、SMB マウント オプションに nobrl を含め、バイト範囲ロック要求をサーバーに送信しないようにします。

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

Linux カーネル バージョン 5.0 以降でネゴシエートされる既定のプロトコルは SMB 3.1.1 です。 versマウント オプションを使用して、代替プロトコル バージョンを指定できます。 プロトコルのバージョンは、 3.1.13.0、および 2.1です。

autofs を使用した動的マウント

autofs ユーティリティを使用してファイル共有を動的にマウントするには、任意の Linux ディストリビューションでパッケージ マネージャーを使用してファイル共有をインストールします。

Ubuntu と Debian ディストリビューションでは、apt パッケージ マネージャーを使用します。

sudo apt update
sudo apt install autofs

次に、autofs 構成ファイルを更新します。 SMB マウント オプションの一覧については、「 マウント オプション」を参照してください。

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

最後の手順は、autofs サービスを再起動することです。

sudo systemctl restart autofs

パスワードローテーションを使用してマウントする

パスワード (ストレージ アカウント キー) を定期的にローテーションすることは、セキュリティのベスト プラクティスです。 ただし、以前は、この方法では計画的なダウンタイムが必要でした。 これで、マウント オプション password2= を指定して、プライマリ パスワードの有効期限が切れた場合やローテーションされた場合でも、ユーザーのダウンタイムなしでファイル共有のマウントが引き続き機能するようにすることができます。 Linux SMB クライアントに渡すこのオプションの 2 番目のシークレットにより、共有のマウントを解除したり、I/O を中断したりすることなく、シームレスな資格情報のローテーションが可能になります。

このマウント オプションが存在する場合、クライアントはセッションのセットアップ中に passwordpassword2 の両方を受け入れ、再接続するため、古いキーがまだ使用されている間に新しいキーを導入できます。

password2は、次の 2 つの方法のいずれかで提供できます。

  • SMB 資格情報ファイルで、ユーザー名とパスワードと共に
  • コマンド ラインで既存のボリューム マウントを更新する: -o password2=new-secret (ローテーション中に -o remount 経由を含む)

前提条件

password2マウント オプションを使用するには、cifs-utils バージョン 7.4 以降が必要です。 正しい cifs-utils パッケージに加えて、Linux ディストリビューションでは、次の表で強調表示されている最低限必要なカーネル バージョンをサポートする必要があります。

Distribution リリース サポートされるカーネル バージョン
Ubuntu 22.04 LTS 6.8-1027
Ubuntu 24.04 LTS 6.14.0-1006
RHEL 9.5 5.14.0-503.11.1.el9_5
RHEL 9.6 5.14.0-570.12.1.el9_6
アルマ 9.6 5.14.0-570.12.1
ロッキー 9.6 5.14.0-570.17.1

ディストリビューションが一覧にない場合は、現在、Kernel 6.6 Stable ブランチから必要なバックポートがありません。

資格情報ファイル経由で

両方のシークレットを資格情報ファイルに格納し、資格情報を使用してマウントします。 ローテーションするときは、最初に新しいキーに password2 を更新し、再接続を再マウントまたは待機してから、次のメンテナンス期間に値をスワップして、新しいキーが passwordになるようにします。

# /etc/smbcredentials/<storage-account-name>.cred
username=<storage-account-name>
password=<current-key>
password2=<new-rotating-key>

既存のボリューム マウントを更新する

サポートされているディストリビューションに適切なバージョンの cifs-utils でボリュームが既にマウントされている場合は、次のコマンドを使用して、 password2= オプションを追加してマウント オプションを変更できます。

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

マウント オプション

Linux で SMB Azure ファイル共有をマウントする場合は、次のマウント オプションを使用します。

マウント オプション 推奨値 説明
username= ストレージ アカウント名 NTLMv2 認証に必要です。
password= ストレージ アカウントの主キー NTLMv2 認証に必要です。
password2= ストレージ アカウントのセカンダリ キー ダウンタイムのないキーローテーションに使用します。
mfsymlinks 該当なし 推奨。 git などのアプリケーションでシンボリック リンクを使用してリポジトリを複製できるように、マウントでシンボリック リンクをサポートするように強制します。
actimeo= 30-60 推奨。 CIFS クライアントがファイルまたはディレクトリの属性をキャッシュしてからサーバーに属性情報を要求する時間 (秒単位)。 30 秒未満の値を使用すると、ファイルおよびディレクトリ用の属性キャッシュの有効期限切れが早すぎるため、パフォーマンスが低下する場合があります。 actimeo 30 ~ 60 秒の間で設定します。
nosharesock 該当なし 省略可能。 SMB マウントへの既存の接続がある場合でも、クライアントは常にサーバーに新しい接続を確立するように強制します。 この接続は、各マウント ポイントが異なる TCP ソケットを使用するため、パフォーマンスを向上させることができます。 場合によっては、 nosharesock は、同じクライアントから 2 つのマウントから開いたときに同じファイルをキャッシュしないため、パフォーマンスが低下する可能性があります。
remount 該当なし ファイル共有を再マウントし、指定した場合はマウント オプションを変更します。 password2 オプションと共に使用して、元のマウント後に期限切れのパスワードを修正する代替パスワードを指定します。
nobrl 該当なし アドバイザリ ロックが必要な場合は、単一クライアント シナリオで使用します。 Azure Files はアドバイザリ ロックをサポートしていないため、この設定により、バイト範囲ロック要求がサーバーに送信されません。
snapshot= time ファイル共有の特定のスナップショットをマウントします。 時間は、1601 年 1 月 1 日以降に経過した 100 ナノ秒単位で要求されたスナップショットを識別する正の整数である必要があります。あるいは、 @GMT-2024.03.27-20.52.19などの GMT 形式で指定することもできます。
closetimeo= 1 遅延クローズ (ハンドル キャッシュ) タイムアウトを秒単位で構成するか、0 に設定すると無効にします。 既定値は 1 秒です。 SMB と REST API の両方でファイル共有にアクセスする場合など、デュアル プロトコル ワークロードの closetimeo=0 を設定します。 詳細については、「 遅延クローズおよびデュアルプロトコル アクセス」を参照してください。
nostrictsync 該当なし fsync() でフラッシュするようにサーバーに要求しないでください。 一部のサーバーでは、既定でバッファリングされない書き込みが実行され、その場合、フラッシュは不要になります。 このオプションを使用すると、クライアントが多数の小さな書き込みと fsync の組み合わせを実行し、ネットワーク待ち時間がサーバーの待機時間よりもはるかに長いワークロードのパフォーマンスを向上させることができます。
multiuser 該当なし サーバーにアクセスするときに、ユーザー アクセスを個々の資格情報にマッピングします。 既定では、CIFS マウントでは、共有にアクセスするときに使用するユーザー資格情報 (マウント資格情報) のセットは 1 つだけです。 このオプションを使用すると、新しいユーザーがマウントにアクセスするたびに、クライアントはユーザーの資格情報を使用してサーバーとの新しいセッションを作成します。 それらの資格情報は、そのユーザーによる以後のアクセスでも使用されます。 カーネルはパスワードの入力を求めることができないため、マルチユーザー マウントは、パスワードを必要としない sec= オプションを使用するマウントに限定されます。
cifsacl 該当なし LINUX アクセス許可ビットとの間で CIFS/NTFS ACL をマップし、UID と GID との間で SID をマップし、セキュリティ記述子を取得および設定するために使用します。 NTLMv2 認証でのみサポートされます。
idsfromsid,modefromsid 該当なし クライアントがクライアントによって強制された承認を行う必要がある場合に使用します。 Unix スタイルのアクセス許可を有効にします。 UID と GID がすべてのクライアントで統一されている場合にのみ機能します。 NTLMv2 認証でのみサポートされます。
cruid= UID またはユーザー名 省略可能。 資格情報キャッシュの所有者の UID を設定します。 この値は主に sec=krb5で役立ちます。 既定値は、マウントを実行するプロセスの実際の UID です。 このパラメーターを、既定の資格情報キャッシュ ファイルに必要な Kerberos チケットを持つユーザーの uid またはユーザー名に設定します。 これにより、そのユーザーが所有する資格情報キャッシュを検索することを、アップコールに指示します。
sec= krb5 Kerberos 認証に必要です。 Kerberos セキュリティ モードを有効にするには、sec=krb5 を設定します。 例: sudo mount -t cifs $SMB_PATH $MNT_PATH -o sec=krb5,cruid=$UID,serverino,nosharesock,actimeo=30,mfsymlinks。 このオプションを使用する場合は、ユーザー名とパスワードを省略します。 Linux クライアントはドメインに参加している必要があります。 「Linux クライアントの SMB 経由の Active Directory 認証を有効にする」を参照してください。
uid= 0 省略可能。 サーバーが所有権情報を提供しない場合には、マウントされたファイルシステム上のすべてのファイルまたはディレクトリを所有する UID を設定します。 ユーザー名または数値 uid として指定します。 指定しない場合は、0 が既定値です。
gid= 0 省略可能。 サーバーが所有権情報を提供しない場合には、マウントされたファイルシステム上のすべてのファイルまたはディレクトリを所有する GID を設定します。 グループ名または数値 gid として指定します。 指定しない場合は、0 が既定値です。
file_mode= 該当なし 省略可能。 サーバーが CIFS Unix 拡張機能をサポートしていない場合、この値は既定のファイル モードをオーバーライドします。
dir_mode= 該当なし 省略可能。 サーバーが CIFS Unix 拡張機能をサポートしていない場合、この値はディレクトリの既定のモードをオーバーライドします。
handletimeout= 該当なし 省略可能。 クライアントの再接続を待機しているフェールオーバー後にサーバーがファイル ハンドルを予約する時間 (ミリ秒単位)。
max_channels= 4 Linux CIFS マウントで SMB マルチチャネルを有効にします。 Linux クライアントからAzure Filesにアクセスする場合は、常に SMB マルチチャネル接続の推奨値 (4) を使用します。

次のステップ

Linux での SMB Azure ファイル共有の使用の詳細については、次を参照してください。