Instalowanie udziałów plików Azure SMB na klientach Linux

Dotyczy: ✔️ udostępnienia plików SMB

Udziały plików Azure można zainstalować w dystrybucjach systemu Linux przy użyciu klienta jądra SMB.

W tym artykule pokazano, jak zamontować udział plików SMB platformy Azure przy użyciu uwierzytelniania NTLMv2 (klucza konta magazynu). Ze względów bezpieczeństwa Microsoft zaleca uwierzytelnianie oparte na tożsamości. Aby skonfigurować uwierzytelnianie oparte na tożsamości, zobacz Konfigurowanie klientów systemu Linux dla usługi Azure Files przy użyciu lokalnych usług AD DS lub Konfigurowanie klientów systemu Linux dla usługi Azure Files przy użyciu usługi Microsoft Entra Domain Services.

Protokoły

Domyślnie, Azure Files wymusza szyfrowanie podczas przesyłu. Szyfrowanie SMB jest dostępne począwszy od wersji SMB 3.0. Azure Files obsługuje również SMB 2.1, które nie wspiera szyfrowania SMB. W związku z tym ze względów bezpieczeństwa usługa Azure Files nie zezwala na montowanie udziałów plików przy użyciu protokołu SMB 2.1 z innego regionu platformy Azure ani ze środowiska lokalnego bez dodatkowej konfiguracji sieci. Należy używać SMB 3.1.1, chyba że aplikacja wymaga starszej wersji.

Dystrybucja Protokół SMB 3.1.1 (zalecane) Protokół SMB 3.0
Wersja jądra systemu Linux
  • Obsługa podstawowej wersji 3.1.1: 4.17
  • Instalacja domyślna: 5.0
  • Szyfrowanie AES-128-GCM: 5.3
  • Szyfrowanie AES-256-GCM: 5.10
  • Obsługa wersji Podstawowa 3.0: 3.12
  • Szyfrowanie AES-128-CCM: 4.11
Ubuntu Szyfrowanie AES-128-GCM: 18.04.5 LTS+ Szyfrowanie AES-128-CCM: 16.04.4 LTS+
Red Hat Enterprise Linux (RHEL)
  • Podstawowe: 8.0+
  • Domyślny montaż: 8.2+
  • Szyfrowanie AES-128-GCM: 8.2+
7.5+
Debian Podstawowy: 10+ Szyfrowanie AES-128-CCM: 10+
SUSE Linux Enterprise Server Szyfrowanie AES-128-GCM: 15 SP2+ Szyfrowanie AES-128-CCM: 12 SP2+

Jeśli dystrybucja systemu Linux nie znajduje się na liście w poprzedniej tabeli, sprawdź wersję jądra systemu Linux przy użyciu uname polecenia :

uname -r

Wymagania wstępne

Instalacja cifs-utils

  • Upewnij się, że pakiet cifs-utils jest zainstalowany. Zainstaluj najnowszą wersję pakietu cifs-utils przy użyciu menedżera pakietów w wybranej dystrybucji systemu Linux.

W systemach Ubuntu i Debian użyj apt menedżera pakietów.

sudo apt update
sudo apt install cifs-utils

W innych dystrybucjach użyj odpowiedniego menedżera pakietów lub skompiluj ze źródła.

Sprawdź łączność portu 445

  • Najnowsza wersja interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji na temat sposobu instalowania interfejsu wiersza polecenia platformy Azure, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure i wybieranie systemu operacyjnego. Jeśli wolisz użyć modułu Azure PowerShell w programie PowerShell 6 lub nowszym, możesz. Jednak instrukcje opisane w tym artykule dotyczą Azure CLI.

  • Upewnij się, że port 445 jest otwarty: protokół SMB komunikuje się za pośrednictwem portu TCP 445. Upewnij się, że zapora lub dostawca usług internetowych nie blokuje portu TCP 445 na komputerze klienckim. Zastąp <your-resource-group> i <your-storage-account>, a następnie uruchom następujący skrypt:

    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
    

    Jeśli połączenie zakończy się pomyślnie, zobaczysz dane wyjściowe podobne do następujących:

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

    Możesz użyć połączenia sieci VPN lub Azure ExpressRoute, jeśli port 445 jest zablokowany w sieci. Aby uzyskać więcej informacji, zobacz Uwagi dotyczące sieci dla bezpośredniego dostępu do udziału plików Azure.

Uprawnienia

Wszystkie skrypty instalowania w tym artykule zainstalują udziały plików przy użyciu domyślnych uprawnień do plików i folderów systemu Linux 0755. To ustawienie uprawnień przyznaje uprawnienia do odczytu, zapisu i wykonywania dla właściciela pliku lub katalogu oraz uprawnienia do odczytu i wykonywania dla użytkowników w grupie właścicieli i innych użytkowników. W zależności od zasad zabezpieczeń organizacji możesz ustawić alternatywne uid/gid lub dir_mode uprawnienia file_mode w opcjach instalacji. Aby uzyskać więcej informacji na temat ustawiania uprawnień, zobacz Notacja symboliczna systemu Unix. Zobacz opcje instalacji, aby zapoznać się z listą opcji instalacji.

Obsługa uprawnień w stylu unix

Możesz również uzyskać obsługę uprawnień w stylu systemu Unix dla udziałów plików SMB platformy Azure, stosując kontrolę dostępu wymuszaną przez klienta i dodając modefromsid,idsfromsid opcje montowania do polecenia montowania. Aby ta pomoc techniczna działała:

  • Wszyscy klienci uzyskujący dostęp do udziału muszą zamontować go przy użyciu polecenia modefromsid,idsfromsid.
  • Identyfikatory UID i GID muszą być takie same na wszystkich klientach.
  • Klienci muszą mieć uruchomioną jedną z następujących obsługiwanych dystrybucji systemu Linux: Ubuntu 20.04+, SLES 15 SP3+.

Odroczone zamknięcie i dostęp przez dwa protokoły

Klient SMB systemu Linux używa optymalizacji wydajności zwanej odroczonym zamknięciem (buforowanie uchwytów). Gdy aplikacja zamknie plik, klient może opóźnić wysyłanie żądania SMB CLOSE do serwera, domyślnie przez maksymalnie jedną sekundę, w przypadku szybkiego ponownego otwarcia pliku. Gdy Azure Files odbiera żądanie CLOSE, które następuje po zapisie, aktualizuje czas ostatniej modyfikacji pliku (LMT), a zatem jego element ETag.

Jeśli uzyskujesz dostęp do tego samego udziału plików zarówno przez SMB, jak i przez interfejs API FileREST (dostęp dwuprotokołowy), to opóźnienie może spowodować warunek wyścigu. Gdy klient SMB zakończy zapisywanie i zamknie plik, klient REST, który odczytuje wartość ETag pliku i rozpoczyna operację warunkową, może zakończyć się błędem „File has been modified concurrently” (HTTP 412 Precondition Failed), gdy nadejdzie odroczone żądanie CLOSE i zaktualizuje LMT oraz ETag.

W przypadku obciążeń przekazujących pliki między modułem zapisywania SMB i czytnikiem opartym na protokole REST wyłącz odroczone zamknięcie, dodając closetimeo=0 opcję instalacji. Ta opcja wymusza natychmiastowe wysłanie przez klienta żądania SMB CLOSE (oraz finalizację LMT i ETagu), co eliminuje warunek wyścigu niewielkim kosztem wydajności operacji otwierania i zamykania.

Zamontuj udział plików platformy Azure na żądanie za pomocą polecenia mount

Gdy zamontujesz udział plików w systemie Linux, zdalny udział plików będzie widoczny jako folder w lokalnym systemie plików. Możesz zamontować udostępnione pliki w dowolnym miejscu na swoim systemie. Następujący przykład montowany jest pod ścieżką /media. Możesz zmienić tę ścieżkę, modyfikując zmienną $MNT_ROOT .

Zastąp <resource-group-name>, <storage-account-name> i <file-share-name> odpowiednimi informacjami dla twojego środowiska.

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

Następnie zainicjuj plik z danymi uwierzytelniającymi, uruchamiając następujący skrypt.

# 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

Teraz możesz zamontować udział plików za pomocą polecenia mount przy użyciu pliku poświadczeń. W poniższym przykładzie polecenie $SMB_PATH wypełnia się za pomocą w pełni kwalifikowanej nazwy domeny punktu końcowego plików konta magazynu. Zobacz opcje instalacji, aby zapoznać się z listą opcji instalacji protokołu SMB.

Uwaga

Począwszy od jądra systemu Linux w wersji 5.0, protokół SMB 3.1.1 jest domyślnym protokołem wynegocjowanym. Jeśli używasz wersji jądra systemu Linux starszej niż 5.0, określ vers=3.1.1 ją na liście opcji instalacji.

# 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

Jeśli chcesz, możesz również podłączyć ten sam zasób plików platformy Azure w wielu punktach montowania.

Gdy skończysz korzystać z udziału plików Azure, użyj sudo umount $mntPath , aby odmontować udział.

Automatyczne montowanie zasobów plików

Gdy zamontujesz udział plików w systemie Linux, zdalny udział plików będzie widoczny jako folder w lokalnym systemie plików. Możesz zamontować udostępnione pliki w dowolnym miejscu na swoim systemie. Następujący przykład montowany jest pod ścieżką /media. Możesz zmienić tę ścieżkę, modyfikując zmienną $MNT_ROOT .

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

Użyj nazwy konta magazynu jako nazwy użytkownika dla udziału plików, a klucza konta magazynu jako hasła. Ponieważ poświadczenia konta magazynu mogą ulec zmianie w czasie, należy przechowywać poświadczenia dla konta magazynu oddzielnie od konfiguracji montowania.

Jeśli plik poświadczeń został już utworzony w poprzedniej sekcji, przejdź do sekcji montowanie statyczne lub montowanie dynamiczne za pomocą autofs. W przeciwnym razie postępuj zgodnie z tymi krokami, aby go stworzyć. Pamiętaj, aby zastąpić <resource-group-name> i <storage-account-name> odpowiednimi informacjami dla Twojego środowiska.

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

Aby automatycznie zainstalować udział plików, możesz wybrać użycie instalacji statycznej za pomocą narzędzia /etc/fstab lub dynamicznej za pomocą narzędzia autofs.

Instalacja statyczna z /etc/fstab

Korzystając z wcześniej skonfigurowanego środowiska, utwórz w folderze montowania folder dla swojego konta magazynu danych i udziału plików. Zastąp <file-share-name> odpowiednią nazwą udziału plików w Azure.

FILE_SHARE_NAME="<file-share-name>"

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

Na koniec utwórz rekord w pliku /etc/fstab dla udostępniania plików Azure. W poniższym poleceniu są używane domyślne uprawnienia do plików i folderów systemu Linux 0755. Te uprawnienia oznaczają odczyt, zapis i wykonywanie dla właściciela (na podstawie pliku lub katalogu właściciela systemu Linux), odczytywanie i wykonywanie dla użytkowników w grupie właścicieli oraz odczytywanie i wykonywanie dla innych osób w systemie. W razie potrzeby możesz ustawić alternatywne uprawnienia uid i gid lub dir_mode i file_mode podczas montowania. Aby uzyskać więcej informacji na temat ustawiania uprawnień, zobacz Notacja liczbowa w systemie UNIX. Zobacz opcje instalacji, aby zapoznać się z listą opcji instalacji protokołu SMB.

Wskazówka

Jeśli chcesz, aby kontenery Docker uruchamiające aplikacje .NET Core mogły zapisywać na udział plików Azure, dołącz nobrl do opcji montowania SMB, aby uniknąć wysyłania żądań blokady zakresu bajtów do serwera.

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

Uwaga

Począwszy od jądra systemu Linux w wersji 5.0, protokół SMB 3.1.1 jest domyślnym protokołem wynegocjowanym. Alternatywne wersje protokołu można określić przy użyciu vers opcji instalacji. Wersje protokołu to 3.1.1, 3.0 i 2.1.

Dynamiczne instalowanie za pomocą autofs

Aby dynamicznie zamontować udział plików za pomocą narzędzia autofs, zainstaluj je przy użyciu menedżera pakietów w wybranej dystrybucji Linuksa.

W dystrybucjach Ubuntu i Debian użyj apt menedżera pakietów:

sudo apt update
sudo apt install autofs

Następnie zaktualizuj autofs pliki konfiguracji. Aby uzyskać listę opcji instalacji protokołu SMB, zobacz opcje instalacji.

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

Ostatnim krokiem jest ponowne uruchomienie autofs usługi.

sudo systemctl restart autofs

Instalowanie przy użyciu rotacji haseł

Okresowa rotacja haseł (kluczy konta magazynowego) to dobra praktyka w zakresie bezpieczeństwa. Jednak w przeszłości ta praktyka wymagała zaplanowanych przestojów. Teraz możesz określić opcję montowania password2=, dzięki czemu, jeśli hasło podstawowe wygaśnie lub zostanie zmienione, montowanie udziału plików będzie nadal działać bez przestojów dla użytkowników. Ten opcjonalny drugi sekret, przekazywany klientowi SMB w systemie Linux, umożliwia płynną rotację poświadczeń bez konieczności odmontowywania udziału lub przerywania operacji we/wy.

Gdy ta opcja montowania jest obecna, klient akceptuje zarówno password, jak i password2 podczas konfigurowania sesji i ponownego łączenia, dzięki czemu można wprowadzić nowy klucz, gdy stary jest nadal używany.

Można dostarczyć password2 na jeden z dwóch sposobów:

  • W pliku poświadczeń protokołu SMB obok nazwy użytkownika i hasła
  • W wierszu poleceń zaktualizuj istniejące montowanie woluminu: -o password2=new-secret, w tym za pomocą -o remount podczas rotacji

Wymagania wstępne

Aby użyć opcji montowania password2, potrzebujesz narzędzia cifs-utils w wersji 7.4 lub nowszej. Oprócz poprawnego pakietu cifs-utils dystrybucja systemu Linux musi obsługiwać minimalne wymagane wersje jądra, jak pokazano w poniższej tabeli:

Distribution Wydanie Obsługiwana wersja jądra
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
Alma 9.6 5.14.0-570.12.1
Skalisty 9.6 5.14.0-570.17.1

Uwaga

Jeśli twoja dystrybucja nie znajduje się na liście, oznacza to, że nie posiada obecnie wymaganych przeniesień (backportów) z stabilnej gałęzi jądra 6.6.

Przez plik poświadczeń

Umieść oba wpisy tajne w pliku poświadczeń, a następnie zainstaluj je przy użyciu poświadczeń. Podczas rotacji najpierw zaktualizuj password2 do nowego klucza, zamontuj ponownie lub zaczekaj na ponowne nawiązanie połączenia, a następnie zamień wartości podczas następnego okna serwisowego, aby nowy klucz stał się password.

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

Aktualizacja istniejącego punktu montowania woluminu

Jeśli masz już wolumin zamontowany w obsługiwanej dystrybucji z odpowiednią wersją pakietu cifs-utils, możesz użyć następującego polecenia, aby zmodyfikować opcję montowania, dodając opcję password2=.

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

Opcje montowania

Podczas instalowania udziałów plików SMB Azure w systemie Linux użyj następujących opcji instalacji.

Opcja montowania Zalecana wartość Opis
username= Nazwa konta magazynu Wymagane do uwierzytelniania NTLMv2.
password= Klucz podstawowy konta magazynowego Wymagane do uwierzytelniania NTLMv2.
password2= Klucz pomocniczy konta przechowywania Służy do rotacji kluczy bez przestoju.
mfsymlinks N/a Zalecane. Wymusza obsługę linków symbolicznych przez montowanie, dzięki czemu aplikacje takie jak Git mogą klonować repozytoria zawierające linki symboliczne.
actimeo= 30-60 Zalecane. Czas w sekundach buforowania atrybutów pliku lub katalogu przez klienta CIFS przed żądaniem informacji o atrybutach z serwera. Użycie wartości niższej niż 30 sekund może spowodować obniżenie wydajności, ponieważ pamięci podręczne atrybutów dla plików i katalogów wygasają zbyt szybko. Ustaw actimeo od 30 do 60 sekund.
nosharesock N/a Opcjonalny. Wymusza na kliencie nawiązanie nowego połączenia z serwerem, nawet jeśli istnieje już połączenie z montowaniem SMB. To połączenie może zwiększyć wydajność, ponieważ każdy punkt instalacji używa innego gniazda TCP. W niektórych przypadkach nosharesock może obniżać wydajność, ponieważ nie buforuje tego samego pliku, gdy jest on otwierany z dwóch punktów montowania przez tego samego klienta.
remount N/a Ponownie montuje udział plików i zmienia opcje montowania, jeśli określono. Użyj w połączeniu z opcją password2, aby określić alternatywne hasło i zmienić wygasłe hasło po pierwotnym zamontowaniu.
nobrl N/a Stosuj w scenariuszach z jednym klientem, gdy wymagane są blokady doradcze. Usługa Azure Files nie obsługuje blokad doradczych, a to ustawienie uniemożliwia wysyłanie żądań blokady zakresu bajtów do serwera.
snapshot= Czas Zamontuj określoną migawkę udziału plików. Czas musi być dodatnią liczbą całkowitą identyfikującą migawkę żądaną w 100-nanosekundowych jednostkach, które upłynęły od 1 stycznia 1601 r., lub alternatywnie można określić ją w formacie GMT, takim jak @GMT-2024.03.27-20.52.19.
closetimeo= 1 Konfiguruje limit czasu odroczonego zamknięcia (pamięć podręczna uchwytów) w sekundach lub wyłącza go, jeśli ustawiono go na 0. Wartość domyślna to 1 sekunda. Ustaw closetimeo=0 dla obciążeń z podwójnym protokołem, na przykład jeśli dostęp do udziału plików jest uzyskiwany za pośrednictwem protokołu SMB i interfejsu API REST. Aby uzyskać więcej informacji, zobacz Odroczone zamykanie i dostęp za pomocą dwóch protokołów.
nostrictsync N/a Nie proś serwera o opróżnienie przy fsync(). Niektóre serwery domyślnie wykonują niebuforowane operacje zapisu, w tym przypadku opróżnianie jest nadmiarowe. Ta opcja może zwiększyć wydajność obciążeń, w których klient wykonuje wiele małych kombinacji zapisu i fsync, a opóźnienie sieci jest znacznie wyższe niż opóźnienie serwera.
multiuser N/a Mapuj dostęp użytkowników do indywidualnych danych uwierzytelniających podczas uzyskiwania dostępu do serwera. Domyślnie, system CIFS montuje tylko jeden zestaw poświadczeń użytkownika (poświadczeń montowania) podczas uzyskiwania dostępu do zasobu współdzielonego. W przypadku tej opcji klient zamiast tego tworzy nową sesję z serwerem przy użyciu poświadczeń użytkownika za każdym razem, gdy nowy użytkownik uzyskuje dostęp do instalacji. Dalsze dostępne przez tego użytkownika również używają tych poświadczeń. Ponieważ jądro nie może prosić o hasła, montowanie wielu użytkowników jest ograniczone do użycia opcji sec=, które nie wymagają haseł.
cifsacl N/a Służy do mapowania list ACL CIFS/NTFS na bity uprawnień w systemie Linux i odwrotnie, mapowania identyfikatorów SID na identyfikatory UID i GID oraz odwrotnie, a także do pobierania i ustawiania deskryptorów zabezpieczeń. Obsługiwane tylko w przypadku uwierzytelniania NTLMv2.
idsfromsid,modefromsid N/a Użyj, gdy klient musi przeprowadzić autoryzację wymuszaną po stronie klienta. Włącza uprawnienia w stylu systemu Unix. Działa tylko wtedy, gdy identyfikatory UID i GID są jednolite we wszystkich klientach. Obsługiwane tylko w przypadku uwierzytelniania NTLMv2.
cruid= identyfikator uid lub nazwa użytkownika Opcjonalny. Ustawia identyfikator uid właściciela pamięci podręcznej poświadczeń. Ta wartość jest przede wszystkim przydatna z użyciem sec=krb5. Wartość domyślna to prawdziwy identyfikator uid procesu wykonującego instalację. Ustaw ten parametr na UID lub nazwę użytkownika, który posiada wymagane bilety Kerberos w domyślnym pliku pamięci podręcznej danych uwierzytelniających. Spowoduje to przekierowanie funkcji upcall w celu wyszukania pamięci podręcznej poświadczeń należącej do tego użytkownika.
sec= krb5 Wymagane do uwierzytelniania Kerberos. Aby włączyć tryb zabezpieczeń Protokołu Kerberos, ustaw wartość sec=krb5. Przykład: sudo mount -t cifs $SMB_PATH $MNT_PATH -o sec=krb5,cruid=$UID,serverino,nosharesock,actimeo=30,mfsymlinks. Pomiń nazwę użytkownika i hasło podczas korzystania z tej opcji. Klient systemu Linux musi być przyłączony do domeny. Zobacz Konfigurowanie klientów systemu Linux dla usługi Azure Files przy użyciu lokalnych usług AD DS lub Konfigurowanie klientów systemu Linux dla usługi Azure Files przy użyciu usługi Microsoft Entra Domain Services.
uid= 0 Opcjonalny. Ustawia uid, który posiada wszystkie pliki lub katalogi w zamontowanym systemie plików, gdy serwer nie dostarcza informacji o właścicielu. Określ jako nazwę użytkownika lub numeryczny identyfikator uid. Jeśli nie zostanie określony, wartość domyślna to 0.
gid= 0 Opcjonalny. Ustawia gid, który przejmuje własność wszystkich plików lub katalogów na zamontowanym systemie plików, gdy serwer nie dostarcza informacji o właścicielu. Podaj nazwę grupy albo numeryczny identyfikator grupy (gid). Jeśli nie zostanie określony, wartość domyślna to 0.
file_mode= N/a Opcjonalny. Jeśli serwer nie obsługuje rozszerzeń CIFS Unix, ta wartość zastępuje domyślny tryb pliku.
dir_mode= N/a Opcjonalny. Jeśli serwer nie obsługuje rozszerzeń CIFS Unix, ta wartość zastępuje tryb domyślny dla katalogów.
handletimeout= N/a Opcjonalny. Czas w milisekundach, dla których serwer powinien zarezerwować dojście do pliku po przejściu w tryb failover czekającym na ponowne połączenie klienta.
max_channels= 4 Włącza funkcję SMB Multichannel na instalacjach CIFS systemu Linux. Zawsze używaj zalecanej wartości (4) połączeń SMB Multichannel podczas uzyskiwania dostępu do Azure Files z klientów systemu Linux.

Następny krok

Aby uzyskać więcej informacji na temat korzystania z udziałów plików SMB Azure w systemie Linux, odwiedź: