Montar comparticiones de archivos SMB de Azure en clientes Linux

Se aplica a: ✔️ recursos compartidos de archivos SMB

Puede montar recursos compartidos de archivos de Azure en las distribuciones de Linux usando el cliente SMB del kernel.

En este artículo se muestra cómo montar un recurso compartido de archivos SMB Azure mediante la autenticación NTLMv2 (clave de cuenta de almacenamiento). Por motivos de seguridad, se prefiere la autenticación basada en identidades. Consulte Habilitación de la autenticación de Active Directory a través de SMB para clientes Linux que acceden a Azure Files.

Protocolos

De forma predeterminada, Azure Files aplica el cifrado en tránsito. El cifrado SMB está disponible a partir de SMB 3.0. Azure Files también admite SMB 2.1, que no admite el cifrado SMB. Como resultado, Azure Files no permite el montaje de recursos compartidos de archivos mediante SMB 2.1 desde otra región de Azure o local, sin configuración de red adicional, por motivos de seguridad. Debe usar SMB 3.1.1 a menos que la aplicación requiera específicamente una versión anterior.

Distribución SMB 3.1.1 (recomendado) SMB 3.0
Versión del kernel de Linux
  • Compatibilidad básica con 3.1.1: 4.17
  • Montaje predeterminado: 5.0
  • Cifrado AES-128-GCM: 5.3
  • Cifrado AES-256-GCM: 5.10
  • Compatibilidad básica con 3.0: 3.12
  • Cifrado AES-128-CCM: 4.11
Ubuntu Cifrado AES-128-GCM: 18.04.5 LTS+ Cifrado AES-128-CCM: 16.04.4 LTS+
Red Hat Enterprise Linux (RHEL)
  • Básico: 8.0 (o posterior)
  • Montaje predeterminado: 8.2 o posterior
  • Cifrado AES-128-GCM: 8.2 (o posterior)
7.5 o posterior
Debian Básico: 10+ Cifrado AES-128-CCM: 10 (o posterior)
SUSE Linux Enterprise Server Cifrado AES-128-GCM: 15 SP2 (o posterior) Cifrado AES-128-GCM: 12 SP2 (o posterior)

Si la distribución de Linux no aparece en la tabla anterior, compruebe la versión del kernel de Linux mediante el uname comando :

uname -r

Requisitos previos

  • Asegúrese de que el paquete cifs-utils está instalado. Instale la versión más reciente del paquete cifs-utils mediante el administrador de paquetes en la distribución de Linux que prefiera.

En Ubuntu y Debian, use el administrador de apt paquetes.

sudo apt update
sudo apt install cifs-utils

En otras distribuciones, use el administrador de paquetes apropiado o compile desde el origen.

  • La versión más reciente de la interfaz de línea de comandos de Azure. Para más información sobre cómo instalar la CLI de Azure, consulte Instalación de la CLI de Azure y seleccione el sistema operativo. Si prefiere usar el módulo Azure PowerShell en PowerShell 6 y versiones posteriores, puede hacerlo. Sin embargo, las instrucciones de este artículo son para el CLI de Azure.

  • Asegúrese de que el puerto 445 está abierto: SMB se comunica a través del puerto TCP 445. Asegúrese de que el firewall o el ISP no bloquean el puerto TCP 445 desde la máquina cliente. Reemplace <your-resource-group> y <your-storage-account> y luego ejecute el siguiente script:

    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
    

    Si la conexión se realiza correctamente, verá una salida similar a la siguiente:

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

    Puede usar una conexión VPN o Azure ExpressRoute si el puerto 445 está bloqueado en la red. Para más información, consulte Consideraciones de redes para el acceso directo a los recursos compartidos de archivos de Azure.

Permisos

Todos los scripts de montaje de este artículo montan los recursos compartidos de archivos mediante los permisos predeterminados de archivos y carpetas de Linux 0755. Esta configuración de permisos concede derechos de lectura, escritura y ejecución para el propietario del archivo o directorio, y derechos de lectura y ejecución para los usuarios del grupo propietario y otros usuarios. En función de las directivas de seguridad de la organización, es posible que desee establecer permisos alternativos uid/gid o dir_mode y file_mode en las opciones de montaje. Para obtener más información sobre cómo establecer permisos, consulte Notación simbólica de Unix. Consulte opciones de montaje para obtener una lista de opciones de montaje.

Compatibilidad con permisos de estilo Unix

También puede obtener compatibilidad con permisos de estilo Unix para recursos compartidos de archivos de Azure SMB mediante el control de acceso aplicado por el cliente y la adición modefromsid,idsfromsid de opciones de montaje al comando de montaje. Para que esto funcione:

  • Todos los clientes que accedan al recurso compartido deben montarlo mediante modefromsid,idsfromsid.
  • Los UID y los GID deben ser uniformes en todos los clientes.
  • Los clientes deben ejecutar una de las siguientes distribuciones de Linux compatibles: Ubuntu 20.04+, SLES 15 SP3+.

Cierre diferido y acceso de doble protocolo

El cliente SMB de Linux usa una optimización del rendimiento denominada cierre diferido (controlar el almacenamiento en caché). Cuando una aplicación cierra un archivo, el cliente puede retrasar el envío de la solicitud CLOSE de SMB al servidor, de forma predeterminada hasta un segundo, en caso de que el archivo se vuelva a abrir rápidamente. Cuando Azure Files recibe la solicitud CLOSE que sigue una escritura, actualiza la hora de última modificación del archivo (LMT) y, por tanto, su ETag.

Si accede al mismo recurso compartido de archivos tanto mediante SMB como mediante la API FileREST (acceso de protocolo dual), este retraso puede provocar una condición de carrera. Una vez que un cliente SMB termina de escribir y cerrar un archivo, un cliente REST que lee la ETag del archivo e inicia una operación condicional puede producir un error de tipo "El archivo se ha modificado simultáneamente" (error de condición previa HTTP 412) cuando llega la solicitud CLOSE diferida y actualiza la LMT y la ETag.

Para cargas de trabajo que transfieren archivos entre un escritor SMB y un lector basado en REST, deshabilite el cierre diferido agregando la opción de montaje closetimeo=0. Esta opción obliga al cliente a enviar inmediatamente la solicitud SMB CLOSE (y a finalizar la LMT y la ETag), lo que elimina la condición de carrera a costa de una pequeña penalización en el rendimiento de apertura y cierre.

Montaje del recurso compartido de archivos de Azure a petición con mount

Al montar un recurso compartido de archivos en un sistema operativo Linux, el recurso compartido de archivos remoto se representa como una carpeta en el sistema de archivos local. Los recursos compartidos de archivos se pueden montar en cualquier lugar del sistema. En el ejemplo siguiente el montaje se realiza en la ruta de acceso /media. Puede cambiar esto a la ruta de acceso preferida modificando la $MNT_ROOT variable .

Reemplace <resource-group-name>, <storage-account-name> y <file-share-name> por la información correcta para su entorno:

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

A continuación, inicialice el archivo de credenciales ejecutando el siguiente script.

# 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

Ahora puede montar el recurso compartido de archivos con el comando mount mediante el archivo de credenciales. En el siguiente ejemplo, el comando $SMB_PATH se rellena con el nombre de dominio completo para el punto de conexión del archivo de la cuenta de almacenamiento. Consulte opciones de montaje para obtener una lista de opciones de montaje de SMB.

Nota:

A partir de la versión 5.0 del kernel de Linux, SMB 3.1.1 es el protocolo negociado predeterminado. Si usa una versión del kernel de Linux anterior a la 5.0, especifique vers=3.1.1 en la lista de opciones de montaje.

# 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

Si lo desea, también puede montar el mismo recurso compartido de archivos de Azure en varios puntos de montaje.

Cuando hayas terminado de usar el recurso compartido de archivos de Azure, utiliza sudo umount $mntPath para desmontar el recurso compartido.

Montaje automático de recursos compartidos de archivos

Al montar un recurso compartido de archivos en un sistema operativo Linux, el recurso compartido de archivos remoto se representa como una carpeta en el sistema de archivos local. Los recursos compartidos de archivos se pueden montar en cualquier lugar del sistema. En el ejemplo siguiente el montaje se realiza en la ruta de acceso /media. Puede cambiar esto a la ruta de acceso preferida modificando la $MNT_ROOT variable .

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

Use el nombre de la cuenta de almacenamiento como nombre de usuario del recurso compartido de archivos y la clave de la cuenta de almacenamiento como contraseña. Dado que las credenciales de la cuenta de almacenamiento pueden cambiar con el tiempo, deben almacenarse por separado de la configuración de montaje.

En el ejemplo siguiente se muestra cómo crear un archivo para almacenar las credenciales. No olvide reemplazar <resource-group-name> y <storage-account-name> por la información correcta para su entorno.

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

Para montar automáticamente un recurso compartido de archivos, puede elegir entre usar un montaje estático a través de la utilidad /etc/fstab o un montaje dinámico a través de la utilidad autofs.

Montaje estático con /etc/fstab

Utilice el entorno anterior para crear una carpeta para su cuenta de almacenamiento y recurso compartido de archivos en la carpeta de montaje. Reemplace <file-share-name> por el nombre adecuado del recurso compartido de archivos de Azure.

FILE_SHARE_NAME="<file-share-name>"

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

Por último, cree un registro en el archivo /etc/fstab para el recurso compartido de archivos de Azure. En el comando siguiente, se usan los permisos predeterminados de archivos y carpetas de Linux 0755. Estos permisos significan leer, escribir y ejecutar para el propietario (basado en el propietario de Linux del archivo o directorio), leer y ejecutar para los usuarios del grupo propietario, y leer y ejecutar para otros usuarios del sistema. Puede que desee establecer permisos alternativos uid y gid o dir_mode y file_mode en el montaje según sus preferencias. Para obtener más información sobre cómo establecer permisos, consulte Notación numérica de UNIX. Consulte opciones de montaje para obtener una lista de opciones de montaje de SMB.

Sugerencia

Si quiere que los contenedores Docker que ejecutan aplicaciones de .NET Core puedan escribir en el recurso compartido de archivos de Azure, incluya nobrl en las opciones de montaje de SMB para evitar el envío de solicitudes de bloqueo de intervalo de bytes al servidor.

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

Nota:

A partir de la versión 5.0 del kernel de Linux, SMB 3.1.1 es el protocolo negociado predeterminado. Puede especificar versiones de protocolo alternativas mediante la vers opción de montaje. Las versiones de protocolo son 3.1.1, 3.0y 2.1.

Montaje dinámico con autofs

Para montar dinámicamente un recurso compartido de archivos con la utilidad autofs, instálela con el gestor de paquetes de la distribución de Linux que prefiera.

En las distribuciones de Ubuntu y Debian, use el administrador de paquetes apt:

sudo apt update
sudo apt install autofs

A continuación, actualice los archivos de configuración autofs. Para obtener una lista de las opciones de montaje de SMB, consulte Opciones de montaje.

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

El último paso es reiniciar el servicio autofs.

sudo systemctl restart autofs

Montaje con rotación de contraseñas

La rotación periódica de contraseñas (claves de cuenta de almacenamiento) es un procedimiento recomendado de seguridad. Sin embargo, en el pasado, esta práctica requería un tiempo de inactividad planeado. Ahora, puede especificar la opción de montaje password2= de modo que, si la contraseña principal expira o se rota, el recurso compartido de archivos siga montado sin tiempo de inactividad para los usuarios. Este segundo secreto opcional que se pasa al cliente SMB de Linux permite la rotación de credenciales sin problemas sin desmontar el recurso compartido o interrumpir la E/S.

Cuando esta opción de montaje está presente, el cliente acepta tanto password como password2 durante el establecimiento de la sesión y las reconexiones, por lo que puede introducir una nueva clave mientras la clave anterior sigue en uso.

Puede proporcionar password2 de una de estas dos maneras:

  • En el archivo de credenciales de SMB junto con el nombre de usuario y la contraseña
  • En la línea de comandos, para actualizar un montaje de volumen existente: -o password2=new-secret, incluso mediante -o remount durante la rotación

Requisitos previos

Necesita cifs-utils versión 7.4 o posterior para usar la opción password2 de montaje. Además del paquete cifs-utils correcto, la distribución de Linux debe admitir las versiones mínimas necesarias del kernel, como se resalta en la tabla siguiente:

Distribution Lanzamiento Versión de kernel admitida
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

Nota:

Si la distribución no está en la lista, actualmente no tiene los backports necesarios de la rama estable Kernel 6.6.

A través del archivo de credenciales

Coloque ambos secretos en el archivo de credenciales y, a continuación, monte con credenciales. Al rotar, primero actualice password2 a la nueva clave, luego vuelva a montar o espere a que se realicen las reconexiones. Posteriormente, cambie los valores en su próxima ventana de mantenimiento para que la nueva clave pase a ser password.

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

Actualice el montaje de volumen existente

Si ya tienes un volumen montado en una distribución admitida que tenga una versión adecuada de cifs-utils, puedes usar el siguiente comando para modificar la opción de montaje agregando la opción password2=.

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

Opciones de montaje

Use las siguientes opciones de montaje al montar recursos compartidos de archivos SMB de Azure en Linux.

Opción de montaje Valor recomendado Descripción
username= Nombre de la cuenta de almacenamiento Obligatorio para la autenticación NTLMv2.
password= Clave principal de la cuenta de almacenamiento Obligatorio para la autenticación NTLMv2.
password2= Clave secundaria de la cuenta de almacenamiento Úselo para la rotación de claves sin interrupción del servicio.
mfsymlinks N/D Recomendado. Obliga al montaje a admitir vínculos simbólicos, por lo que las aplicaciones como Git pueden clonar repositorios con vínculos simbólicos.
actimeo= de 30 a 60 Recomendado. El tiempo en segundos que el cliente CIFS almacena en caché los atributos de un archivo o directorio antes de solicitar información de atributo desde un servidor. El uso de un valor inferior a 30 segundos puede provocar una degradación del rendimiento porque las memorias caché de atributos de los archivos y directorios expiran demasiado rápidamente. Establezca actimeo entre 30 y 60 segundos.
nosharesock N/D Opcional. Obliga al cliente a realizar siempre una nueva conexión al servidor aunque tenga una conexión existente al montaje de SMB. Esta conexión puede mejorar el rendimiento, ya que cada punto de montaje usa un socket TCP diferente. En algunos casos, nosharesock puede degradar el rendimiento porque no almacena en caché el mismo archivo cuando se abre desde dos montajes desde el mismo cliente.
remount N/D Vuelve a montar la compartición de archivos y cambia las opciones de montaje si se especifica. Use con la password2 opción para especificar una contraseña alternativa para corregir una contraseña expirada después del montaje original.
nobrl N/D Úselo en escenarios de un solo cliente cuando se requieran bloqueos consultivos. Azure Files no admite bloqueos de advertencia y esta configuración impide el envío de solicitudes de bloqueo de rango de bytes al servidor.
snapshot= Tiempo Monte una instantánea específica del recurso compartido de archivos. El tiempo debe ser un entero positivo que identifique la instantánea solicitada en unidades de 100 nanosegundos que han transcurrido desde el 1 de enero de 1601 o, como alternativa, se puede especificar en formato GMT, como @GMT-2024.03.27-20.52.19.
closetimeo= 1 Configura el tiempo de espera de cierre diferido (controlar caché) en segundos o lo deshabilita si se establece en 0. El valor predeterminado es 1 segundo. Establezca closetimeo=0 para cargas de trabajo con protocolo dual, por ejemplo, si se accede a un recurso compartido de archivos tanto mediante SMB como mediante la API de REST. Para obtener más información, consulte Cierre diferido y acceso de doble protocolo.
nostrictsync N/D No le pida al servidor que realice un vaciado durante fsync(). Algunos servidores realizan escrituras no almacenadas en búfer de forma predeterminada, en cuyo caso el vaciado es redundante. Esta opción puede mejorar el rendimiento de las cargas de trabajo en las que un cliente realiza una gran cantidad de combinaciones de escritura y fsync pequeñas y donde la latencia de red es mucho mayor que la latencia del servidor.
multiuser N/D Asigne acceso de usuario a credenciales individuales al acceder al servidor. De forma predeterminada, los montajes CIFS solo usan un único conjunto de credenciales de usuario (las credenciales de montaje) al acceder a un recurso compartido. Con esta opción, el cliente crea en su lugar una nueva sesión con el servidor mediante las credenciales del usuario cada vez que un nuevo usuario accede al montaje. Los accesos adicionales de ese usuario también usan esas credenciales. Dado que el kernel no puede solicitar contraseñas, los montajes multiusuario se limitan a los montajes mediante opciones de sec= que no requieren contraseñas.
cifsacl N/D Úselo para asociar las ACL de CIFS/NTFS con los bits de permisos de Linux, asociar SID con UID y GID, y obtener y establecer descriptores de seguridad. Solo es compatible con la autenticación NTLMv2.
idsfromsid,modefromsid N/D Úselo cuando el cliente necesite aplicar la autorización impuesta por el cliente. Habilita los permisos de estilo Unix. Solo funciona cuando los UID y los GID son uniformes en todos los clientes. Solo es compatible con la autenticación NTLMv2.
cruid= UID o nombre de usuario Opcional. Establece el uid del propietario de la caché de credenciales. Este valor es principalmente útil con sec=krb5. El valor predeterminado es el uid real del proceso que realiza el montaje. Establezca este parámetro en el uid o el nombre de usuario del usuario que tiene los vales Kerberos necesarios en su archivo de caché de credenciales predeterminado. Esto dirige el upcall para buscar una caché de credenciales perteneciente a ese usuario.
sec= krb5 Es necesario para la autenticación Kerberos. Para habilitar el modo de seguridad Kerberos, establezca sec=krb5. Ejemplo: sudo mount -t cifs $SMB_PATH $MNT_PATH -o sec=krb5,cruid=$UID,serverino,nosharesock,actimeo=30,mfsymlinks. Omita el nombre de usuario y la contraseña al usar esta opción. El cliente Linux debe estar unido a un dominio. Consulte Habilitación de la autenticación de Active Directory a través de SMB para clientes Linux.
uid= 0 Opcional. Establece el uid que posee todos los archivos o directorios del sistema de archivos montado cuando el servidor no proporciona información de propiedad. Especifique como un nombre de usuario o un uid numérico. Cuando no se especifica, el valor predeterminado es 0.
gid= 0 Opcional. Establece el gid que posee todos los archivos o directorios del sistema de archivos montado cuando el servidor no proporciona información de propiedad. Especifíquelo mediante un nombre de grupo o un GID numérico. Cuando no se especifica, el valor predeterminado es 0.
file_mode= N/D Opcional. Si el servidor no admite las extensiones DE UNIX CIFS, este valor invalida el modo de archivo predeterminado.
dir_mode= N/D Opcional. Si el servidor no admite las extensiones DE UNIX CIFS, este valor invalida el modo predeterminado para los directorios.
handletimeout= N/D Opcional. El tiempo en milisegundos para el que el servidor debe reservar el identificador de archivo después de una conmutación por error esperando a que el cliente se vuelva a conectar.
max_channels= 4 Habilita SMB Multichannel en montajes de CIFS en Linux. Use siempre el valor recomendado (4) de las conexiones multicanal de SMB al acceder a Azure Files desde clientes Linux.

Paso siguiente

Para más información sobre el uso de recursos compartidos de archivos de SMB de Azure con Linux, consulte: