مشاركة عبر


تحميل مشاركات ملفات SMB Azure على عملاء Linux

يمكن تحميل مشاركات ملفات Azure في توزيعات Linux باستخدام عميل SMB kernel.

توضح هذه المقالة كيفية تحميل مشاركة ملف SMB Azure باستخدام مصادقة NTLMv2 (مفتاح حساب التخزين). يفضل استخدام المصادقة المستندة إلى الهوية لأسباب أمنية. راجع تمكين مصادقة Active Directory عبر SMB لعملاء Linux الذين يصلون إلى ملفات Azure.

ينطبق على

نموذج الإدارة نموذج الفوترة مستوى الوسائط التكرار SMB NFS
Microsoft.Storage الإصدار 2 المتوفر HDD (قياسي) محلي (LRS) ‏‏نعم‬ لا
Microsoft.Storage الإصدار 2 المتوفر HDD (قياسي) المنطقة (ZRS) ‏‏نعم‬ لا
Microsoft.Storage الإصدار 2 المتوفر HDD (قياسي) الموقع الجغرافي (GRS) ‏‏نعم‬ لا
Microsoft.Storage الإصدار 2 المتوفر HDD (قياسي) المنطقة الجغرافية (GZRS) ‏‏نعم‬ لا
Microsoft.Storage الإصدار 1 المتوفر SSD (متميز) محلي (LRS) ‏‏نعم‬ لا
Microsoft.Storage الإصدار 1 المتوفر SSD (متميز) المنطقة (ZRS) ‏‏نعم‬ لا
Microsoft.Storage الدفع الفوري HDD (قياسي) محلي (LRS) ‏‏نعم‬ لا
Microsoft.Storage الدفع الفوري HDD (قياسي) المنطقة (ZRS) ‏‏نعم‬ لا
Microsoft.Storage الدفع الفوري HDD (قياسي) الموقع الجغرافي (GRS) ‏‏نعم‬ لا
Microsoft.Storage الدفع الفوري HDD (قياسي) المنطقة الجغرافية (GZRS) ‏‏نعم‬ لا

البروتوكولات

بشكل افتراضي، تفرض Azure Files التشفير أثناء النقل. يتوفر تشفير SMB بدءا من SMB 3.0. تدعم Azure Files أيضا SMB 2.1، والذي لا يدعم تشفير SMB. نتيجة لذلك، لا تسمح Azure Files بتحميل مشاركات الملفات باستخدام SMB 2.1 من منطقة Azure أخرى أو محليا، دون تكوين شبكة إضافية، لأسباب أمنية. يجب عليك استخدام SMB 3.1.1 ما لم يتطلب تطبيقك إصدارا قديما على وجه التحديد.

التوزيع SMB 3.1.1 (مستحسن) بروتوكول Server Message Block 3.0
إصدار Linux kernel
  • دعم 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+
دبيان الأساسي: 10+ تشفير AES-128-CCM:‏ 10+
SUSE Linux Enterprise Server تشفير AES-128-GCM:‏ 15 SP2+ تشفير AES-128-CCM:‏12 SP2+

إذا لم يكن توزيع Linux مدرجا في الجدول، يمكنك التحقق من إصدار Linux kernel باستخدام uname الأمر :

uname -r

المتطلبات الأساسية

  • تأكد من تثبيت حزمة cifs-utils. قم بتثبيت أحدث إصدار من حزمة cifs-utils باستخدام مدير الحزمة على توزيع Linux الذي تختاره.

في Ubuntu و Debian، استخدم مدير الحزمة apt :

sudo apt update
sudo apt install cifs-utils

في التوزيعات الأخرى، يمكنك استخدام مدير الحزم المناسب أو التحويل البرمجي من المصدر.

  • أحدث إصدار من واجهة سطر الأوامر Azure‏ (CLI). لمزيد من المعلومات حول كيفية تثبيت Azure CLI، راجع تثبيت Azure CLI وحدد نظام التشغيل الخاص بك. إذا كنت تفضل استخدام الوحدة النمطية Azure PowerShell في PowerShell 6+، يمكنك؛ ومع ذلك، فإن الإرشادات الواردة في هذه المقالة مخصصة ل Azure CLI.

  • تأكد من فتح المنفذ 445: يتصل SMB عبر منفذ TCP 445. تأكد من أن جدار الحماية أو مزود خدمة الإنترنت لا يحظر منفذ 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!
    

    يمكنك استخدام اتصال VPN أو ExpressRoute إذا تم حظر المنفذ 445 على شبكتك. لمزيد من المعلومات، راجع اعتبارات الشبكات للوصول المباشر إلى مشاركة ملفات Azure.

الأذونات

جميع البرامج النصية للتركيب في هذه المقالة تحميل مشاركات الملفات باستخدام أذونات الملف والمجلد الافتراضية 0755 Linux. وهذا يعني القراءة والكتابة والتنفيذ لمالك الملف/الدليل، والقراءة والتنفيذ للمستخدمين في مجموعة المالكين، والقراءة والتنفيذ للمستخدمين الآخرين. استنادا إلى نهج الأمان الخاصة بمؤسستك، قد تحتاج إلى تعيين أذونات أو أو uid/ بديلة giddir_modefile_mode في خيارات التحميل. لمزيد من المعلومات حول كيفية تعيين الأذونات، راجع رمز Unix. راجع خيارات التحميل للحصول على قائمة بخيارات التحميل.

دعم أذونات نمط Unix

يمكنك أيضا الحصول على دعم أذونات نمط Unix لمشاركات ملفات SMB Azure باستخدام التحكم في الوصول المفروض من قبل العميل وإضافة modefromsid,idsfromsid خيارات التحميل إلى أمر التحميل. لكي يعمل هذا:

  • يحتاج جميع العملاء الذين يصلون إلى المشاركة إلى التحميل باستخدام modefromsid,idsfromsid
  • يجب أن تكون UIDs/GIDs موحدة عبر جميع العملاء
  • يجب أن يقوم العملاء بتشغيل أحد توزيعات Linux المدعومة التالية: Ubuntu 20.04+، SLES 15 SP3+

تحميل مشاركة ملفات Azure عند الطلب من خلال التحميل

عند تحميل مشاركة ملف على نظام تشغيل Linux، يتم تمثيل مشاركة الملفات عن بُعد كمجلد في نظام الملفات المحلي. يمكنك تحميل مشاركات الملفات إلى أي مكان على نظامك. يتم تحميل المثال التالي أسفل المسار /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.

إشعار

بدءًا من الإصدار 5.0 من Linux kernel، يعد SMB 3.1.1 هو البروتوكول الافتراضي المتفاوض عليه. إذا كنت تستخدم إصدارًا من Linux kernel أقدم من 5.0، فحدد 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، يتم تمثيل مشاركة الملفات عن بُعد كمجلد في نظام الملفات المحلي. يمكنك تحميل مشاركات الملفات إلى أي مكان على نظامك. يتم تحميل المثال التالي أسفل المسار /media. يمكنك تغيير هذا إلى المسار المفضل لديك الذي تريده عن طريق تعديل المتغير $MNT_ROOT.

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

استخدم اسم حساب التخزين كاسم مستخدم لمشاركة الملف، ومفتاح حساب التخزين ككلمة مرور. نظرا لأن بيانات اعتماد حساب التخزين قد تتغير بمرور الوقت، يجب تخزين بيانات الاعتماد لحساب التخزين بشكل منفصل عن تكوين التحميل.

يوضح المثال التالي كيفية إنشاء ملف لتخزين بيانات الاعتماد. تذكّر استبدال <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

وأخيرًا، قم بإنشاء سجل في ملف /etc/fstab لمشاركة ملف Azure. في الأمر أدناه، يتم استخدام أذونات ملفات ومجلدات 0755 Linux الافتراضية، مما يعني القراءة والكتابة والتنفيذ للمالك (استنادًا إلى مالك الملف / الدليل على Linux)، والقراءة والتنفيذ للمستخدمين في مجموعة المالك، والقراءة والتنفيذ للآخرين على النظام. قد ترغب في تعيين أذونات بديلة uid و gid أو و dir_modefile_mode على التحميل حسب الرغبة. لمزيد من المعلومات حول كيفية تعيين الأذونات، راجع رمز UNIX الرقمي. راجع خيارات التحميل للحصول على قائمة بخيارات تحميل SMB.

تلميح

إذا كنت تريد أن تتمكن حاويات Docker التي تشغل تطبيقات .NET Core من الكتابة إلى مشاركة ملف Azure، فقم بتضمين nobrl في خيارات تحميل SMB لتجنب إرسال طلبات تأمين نطاق البايت إلى الخادم.

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

إشعار

بدءًا من الإصدار 5.0 من Linux kernel، يعد SMB 3.1.1 هو البروتوكول الافتراضي المتفاوض عليه. يمكنك تحديد إصدارات بروتوكول بديلة باستخدام خيار تحميل vers (إصدارات البروتوكول هي 3.1.1 و3.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 لتمكين تدوير بيانات الاعتماد بسلاسة دون إلغاء تحميل المشاركة أو مقاطعة الإدخال/الإخراج.

عند وجود خيار التحميل هذا، سيقبل العميل كلا من password إعداد الجلسة/إعادة الاتصال وأثناءها password2 ، حتى تتمكن من تقديم مفتاح جديد بينما لا يزال المفتاح القديم قيد الاستخدام.

يمكنك توفير password2 إحدى طريقتين:

  • في ملف بيانات اعتماد SMB بجانب اسم المستخدم وكلمة المرور
  • في سطر الأوامر لتحديث تحميل وحدة تخزين موجودة: -o password2=new-secret، بما في ذلك عبر -o إعادة التحميل أثناء التدوير

المتطلبات الأساسية

تحتاج إلى الإصدار 7.4 من cifs-utils أو أعلى لاستخدام password2 خيار التحميل. بالإضافة إلى حزمة cifs-utils الصحيحة، يجب أن يدعم توزيع Linux الحد الأدنى من إصدارات kernel المطلوبة كما هو موضح في الجدول التالي:

Distribution Release إصدار Kernel المدعوم
Ubuntu 22.04 لتر 6.8-1027
Ubuntu 24.04 لتر 6.14.0-1006
Ubuntu 24.04 لتر 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 Table.

عبر ملف بيانات الاعتماد

ضع كلا السرين في ملف بيانات الاعتماد الخاص بك ، ثم قم بتحميله باستخدام بيانات الاعتماد. عند التدوير، قم بالتحديث 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

خيارات التحميل

يمكنك استخدام خيارات التحميل التالية عند تحميل مشاركات ملفات SMB Azure على Linux.

خيار التحميل القيمة الموصى بها الوصف
username= اسم حساب التخزين إلزامي لمصادقة NTLMv2.
password= المفتاح الأساسي لحساب التخزين إلزامي لمصادقة NTLMv2.
password2= مفتاح حساب التخزين الثانوي يوصى به في حالة عدم استدارة مفتاح التوقف عن العمل.
mfsymlinks غير متوفر الطريقة المستحسنة. يفرض التحميل لدعم الارتباطات الرمزية، ما يسمح للتطبيقات مثل git باستنساخ المستودعات باستخدام symlinks.
actimeo= 30-60 الطريقة المستحسنة. الوقت (بالثوان) الذي يقوم فيه عميل CIFS بالتخزين المؤقت لسمات ملف أو دليل قبل أن يطلب معلومات السمة من خادم. يمكن أن يؤدي استخدام قيمة أقل من 30 ثانية إلى تدهور الأداء لأن ذاكرة التخزين المؤقت للسمات للملفات والدلائل تنتهي صلاحيتها بسرعة كبيرة. نوصي بالإعداد actimeo بين 30 و60 ثانية.
nosharesock غير متوفر اختياري. يفرض على العميل دائما إجراء اتصال جديد بالخادم حتى إذا كان لديه اتصال موجود بتحميل SMB. يمكن أن يؤدي ذلك إلى تحسين الأداء، حيث تستخدم كل نقطة تحميل مأخذ توصيل TCP مختلف. في بعض الحالات، nosharesock يمكن أن يؤدي إلى تدهور الأداء بسبب عدم التخزين المؤقت للملف نفسه عند فتحه من مجموعتين من نفس العميل.
remount غير متوفر إعادة تحميل مشاركة الملف وتغيير خيارات التحميل إذا تم تحديدها. استخدم مع password2 الخيار في الحالات التي تريد فيها تحديد كلمة مرور بديلة لإصلاح كلمة مرور منتهية الصلاحية بعد التحميل الأصلي.
nobrl غير متوفر يوصى به في سيناريوهات العميل الفردي عندما تكون التأمينات الاستشارية مطلوبة. لا تدعم Azure Files التأمينات الاستشارية، ويمنع هذا الإعداد إرسال طلبات تأمين نطاق البايت إلى الخادم.
snapshot= الوقت تحميل لقطة محددة من مشاركة الملف. يجب أن يكون الوقت عددا صحيحا موجبا يحدد اللقطة المطلوبة (بوحدات 100 نانو ثانية انقضت منذ 1 يناير 1601، أو بدلا من ذلك يمكن تحديدها بتنسيق GMT على سبيل المثال @GMT-2024.03.27-20.52.19). .
closetimeo= 5 تكوين مهلة الإغلاق المؤجلة (معالجة ذاكرة التخزين المؤقت) بالثوان، أو تعطيلها عن طريق الإعداد إلى 0. الافتراضي هو 5 ثوان.
nostrictsync غير متوفر لا تطلب من الخادم مسح على fsync(). تقوم بعض الخوادم بإجراء عمليات كتابة غير مخزنة مؤقتا بشكل افتراضي، وفي هذه الحالة يكون المسح زائدا عن الحاجة. يمكن أن يحسن هذا الخيار أداء أحمال العمل حيث يقوم العميل بتنفيذ الكثير من مجموعات الكتابة + fsync الصغيرة وحيث يكون زمن انتقال الشبكة أعلى بكثير من زمن انتقال الخادم.
multiuser غير متوفر تعيين وصول المستخدم إلى بيانات الاعتماد الفردية عند الوصول إلى الخادم. بشكل افتراضي، تستخدم عمليات تحميل CIFS مجموعة واحدة فقط من بيانات اعتماد المستخدم (بيانات اعتماد التحميل) عند الوصول إلى مشاركة. باستخدام هذا الخيار، يقوم العميل بدلا من ذلك بإنشاء جلسة عمل جديدة مع الخادم باستخدام بيانات اعتماد المستخدم كلما وصول مستخدم جديد إلى التحميل. تستخدم عمليات الوصول الإضافية من قبل هذا المستخدم أيضا بيانات الاعتماد هذه. نظرا لأن النواة لا يمكنها المطالبة بكلمات المرور، تقتصر عمليات التحميل متعددة المستخدم على عمليات التحميل باستخدام sec= الخيارات التي لا تتطلب كلمات مرور.
cifsacl غير متوفر يستخدم هذا الخيار لتعيين CIFS/NTFS ACLs من/إلى بتات أذونات Linux، وتعيين SIDs من/إلى UIDs وGIDs، والحصول على واصفات الأمان وتعيينها. مدعوم فقط لمصادقة NTLMv2.
idsfromsid,modefromsid غير متوفر يوصى به عندما يحتاج العميل إلى القيام بالتخويل المفروض من قبل العميل. تمكين أذونات نمط Unix. يعمل فقط عندما تكون UIDs/GIDs موحدة عبر جميع العملاء. مدعوم فقط لمصادقة NTLMv2.
cruid= uid أو اسم المستخدم اختياري. تعيين uid لمالك ذاكرة التخزين المؤقت لبيانات الاعتماد. هذا مفيد بشكل أساسي مع sec=krb5. الافتراضي هو uid الحقيقي للعملية التي تقوم بالتركيب. نوصي بتعيين هذه المعلمة إلى uid أو اسم المستخدم للمستخدم الذي لديه تذاكر Kerberos الضرورية في ملف ذاكرة التخزين المؤقت لبيانات الاعتماد الافتراضية الخاصة به. يؤدي هذا إلى توجيه upcall للبحث عن ذاكرة التخزين المؤقت لبيانات الاعتماد المملوكة لهذا المستخدم.
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 منضما إلى المجال. راجع تمكين مصادقة Active Directory عبر SMB لعملاء Linux.
uid= 1 اختياري. تعيين uid الذي يمتلك كافة الملفات أو الدلائل على نظام الملفات المحملة عندما لا يوفر الخادم معلومات الملكية. يمكن تحديده إما على أنه اسم مستخدم أو uid رقمي. عند عدم التحديد، يكون الافتراضي هو 0.
gid= 1 اختياري. تعيين gid الذي يمتلك جميع الملفات أو الدلائل على نظام الملفات المحملة عندما لا يوفر الخادم معلومات الملكية. يمكن تحديده إما على أنه اسم مجموعة أو دخيل رقمي. عند عدم التحديد، يكون الافتراضي هو 0.
file_mode= غير متوفر اختياري. إذا كان الخادم لا يدعم ملحقات CIFS Unix، فإن هذا يتجاوز وضع الملف الافتراضي.
dir_mode= غير متوفر اختياري. إذا كان الخادم لا يدعم ملحقات CIFS Unix، فإن هذا يتجاوز الوضع الافتراضي للدلائل.
handletimeout= غير متوفر اختياري. الوقت (بالمللي ثانية) الذي يجب على الخادم حجز مقبض الملف له بعد تجاوز الفشل في انتظار العميل لإعادة الاتصال.

الخطوة التالية

لمزيد من المعلومات حول استخدام مشاركات ملفات SMB Azure مع Linux، راجع: