親ディレクトリにアクセスせずにSMB共有のディレクトリにアクセスする

親ディレクトリにアクセスせずにSMB共有のディレクトリにアクセスする

Windows 2019ホストのSMB共有があります。

\\server\share

mount.cifs私のLinuxサーバーにインストールできます。/mnt/

その後、いくつかのレベルの下のディレクトリにアクセスしようとします。

\\server\share\dir1\dir2\dir3\dir4 

/mnt/dir1/dir2/dir3/dir4

共有のマウントに使用したWindowsユーザーアカウントには読み取り権限がありますが、読み取り権限dir1はありません。このアカウントにはすべての権限があります。dir2dir3dir4

dir4他のWindowsシステムではdir2アクセスできませんが、まだアクセスできます。または、dir3アクセスするにはフルパスを入力する必要があり、dir4移動できません(大丈夫です)。

dir4LinuxではCDに直接アクセスすることはできません。

UNIXシステムでは、サブディレクトリにアクセスするには各親ディレクトリにアクセスする必要があるため、これが少し奇妙であることを知っていますが、私の例がうまくいかない理由はわかりません。

ベストアンサー1

Linuxベースのクライアントのオプションでこれを指定する必要がありますnopermmount

文書(man mount.cifs)には次のように指定されています。

nopermクライアントは権限確認を行いません。 [...]通常、クライアントとサーバーシステムのUID / GID一致が、マウントを実行しているユーザーにアクセスを許可するのに十分近い場合にのみ必要です。これは、サーバーソフトウェアによるターゲットシステムの一般的なACLチェックには影響しません。 [...]

これはnoperm、CIFS 合成 POSIX 権限を解釈しようとするローカルファイルシステム階層のすべての試みをオフにし、代わりにサーバーが自分が何をしているのかを知っていることを信頼することを意味します。

おすすめ記事