今まで、Azure FilesはCIFS共有のみをサポートしていました。以下のコマンドを使用して、CIFS共有をマウントできます。
$ sudo yum install cifs-utils -y
$ sudo mkdir -p /cifs
$ sudo mount -t cifs //mystorage.file.core.windows.net/share /cifs -o vers=3.0,credentials=$HOME/.credentials,dir_mode=0777,file_mode=0777,serverino
残念ながら、CIFS共有はPOSIX権限をサポートしていませんでした。
したがって、すべてのファイルは同じユーザーが所有し、同じ権限を持っている必要があります。
uid/gidオプションを使用してマウント時に所有者を変更でき、file_mode/dir_modeオプションを使用してマウント時にファイルモードを変更できます。
$ ls -l /cifs
total 1
-rwxrwxrwx. 1 root root 180 Nov 17 05:03 file1
-rwxrwxrwx. 1 root root 180 Nov 17 05:03 file2
$ sudo chown omi:omi /cifs/file2; sudo chmod go-rw /cifs/*
$ ls -l /cifs
total 1
-rwxrwxrwx. 1 root root 180 Nov 17 05:03 file1
-rwxrwxrwx. 1 root root 180 Nov 17 05:03 file2
ご覧のとおり、chownコマンドとchmodコマンドは効果がありません。
昨日(2021-11-16)からNFS4.1プロトコルを使用してAzure Files上のファイル共有にアクセスできるようになりました。
Linux VMからこのような共有をマウントする場合の大きな利点は、NFSがPOSIXパーミッションをサポートすることです。
これは、所有者と権限をファイルベースで変更できることを意味します。
以下は、NFS共有をマウントするコマンドです。
$ sudo mkdir -p /nfs
$ sudo mount -t nfs mypremiumstorage.file.core.windows.net:/mypremiumstorage/share /nfs -o vers=4,minorversion=1,sec=sys
これで、共有内の個々のファイルの所有権と権限を変更できます。
以下のとおり共有には2つのファイルがあります。所有者だけがファイルを読み取ることができるようにアクセス許可を変更してから、file2の所有者をomiに変更します。
$ ls -l /nfs
total 1
-rw-rw-r--. 1 job job 180 Nov 17 01:33 file1
-rw-rw-r--. 1 job job 180 Nov 17 01:33 file2
$ sudo chown omi:omi /nfs/file2; sudo chmod go-rw /nfs/*
$ ls -l /nfs
total 1
-rw-------. 1 job job 180 Nov 17 01:33 file1
-rw-------. 1 omi omi 180 Nov 17 01:33 file2
ここで、両方のファイルをjobユーザーとして読み取ろうとすると、file1をjobユーザーごとに読み取ることができますが、omiユーザーが所有するファイルを読み取ろうとすると、「Permission denied・アクセスが拒否されました」というメッセージが表示されます。
$ whoami
job
$ cat /nfs/file1
マイクロソフト(英: Microsoft Corporation)は、アメリカ合衆国ワシントン州に本社を置く、ソフトウェアを開発、販売する会社である。
$ cat /nfs/file2
cat: /nfs/file2: Permission denied
NFSはLinux / Unixにネイティブです。主にLinuxVMで共有を使用している場合は、NFSを使用することをお勧めします。
Azure FilesでNFS共有を設定するには、次のドキュメントを参照してください。
以上です。