職場の共有ファイルシステムにテスト サーバーをマウントしています。これは cifs マウントなので、次のリファレンス ページを参照しています。マウント
テスト サーバーからの共有ファイル システムを改ざんされないように、「できるだけ知らない」方法でマウントを試してみたいと思います。そのため、ドキュメントには次のように書かれています。
uid=arg は、サーバーが所有権情報を提供しない場合に、マウントされたファイルシステム上のすべてのファイルまたはディレクトリを所有する uid を設定します。ユーザー名または数値 uid のいずれかで指定できます。指定しない場合、デフォルトは uid 0 です。数値以外の形式で uid を指定するには、mount.cifs ヘルパーのバージョンが 1.10 以上である必要があります。詳細については、以下のファイルとディレクトリの所有権と権限のセクションを参照してください。
いいですね。しかし、私の質問は次のとおりです。
- サーバーが所有権情報を提供しているかどうかを確認するにはどうすればよいですか? また提供している場合、それが実際に何であるかを確認するにはどうすればよいでしょうか?
ボーナス質問:
- 単に上書きできるのであれば、権限を提供する意味は何でしょうか
file_mode=0777,dir_mode=0777
?
答え1
あなたが見ているのは CIFS であり、NFS ではありません。Linux ツールを使用して Windows の CIFS 共有から所有権情報を抽出する方法に出会ったことはありません (もし誰かがその方法を知っているなら、私が間違っていることを証明してください)。その仕組みは次のとおりです。
- サーバーでは、提供した資格情報によってアクセスが決定されます。 で読み取り専用アクセスを「無効にする」ことはできません
file_mode=0777
。そのような場合、ファイルへの書き込みを試みるとアクセスが拒否されます。 - デフォルトの CIFS 共有は所有権情報をエクスポートしないため、、、、、
uid
オプションをgid
使用するとumask
、マウントされた共有の上に Linux ファイル セキュリティを配置できます。この方法では、マウントされた共有から読み取り/書き込みできるのは特定のローカル Linux ユーザー/グループのみとすることができます。マウント時にこれらのオプションを指定しない場合は、デフォルト値が使用されます (ほとんどの場合、その共有内のすべてのディレクトリとファイルに対して)。file_mode
dir_mode
uid=0, gid=0, umask=0
- 公式のドキュメンテーション、uid / gid 所有権情報をエクスポートできる「CIFS の UNIX 拡張機能」があることがわかります。ただし、サーバーがこれらの拡張機能をサポートしているかどうかを確認する方法があるかどうかはわかりません。