0

ネットワーク上にサーバーがあり、ローカル マシンがファイルを開こうとしているとします。open("A/B/C/D/E/filename") は、次のような方法でローカル システムに実装されています。

  1. ローカル システムは最初にサーバーから A のディレクトリ コンテンツを取得しますが、セキュリティ上の理由で失敗する可能性があります。

  2. ローカル システムはディレクトリをスキャンして B の inode を探します。

  3. ファイル名の inode に到達するまで、1 と 2 を再帰的に繰り返します。

  4. ローカル システムは最終的にサーバーを呼び出して、ファイル名の inode を開きます。

または、open() はリモート ホストで完全に処理されます。

opendir(dir)、特定のファイル名パターンの readdir()、closedir()、および最後に open(filename) を実行するのに、open(filename) と同じ時間がかかるかどうかを判断しようとしています。

4

1 に答える 1

2

NFS の認証チェックは、リモート サーバーで実行されます。証拠?通常、ローカル システムのユーザー「root」は、リモート システムのユーザー「nobody」にマップされ、特権はありません。ただし、ローカル システムでもセキュリティ チェックが実行されないという保証はできません。

于 2011-06-15T20:01:08.507 に答える