私は標準のUNIXシステムに時間サポートを追加する課題を完了しています。ただし、これらの一部には、「ls -al」などのコマンドを使用してもバックアップファイルを非表示にし、絶対パス名にアクセスするように指定することで、バックアップファイルの場所を保護(デフォルトではシステムルートに設定)することが含まれます。 。 。元の引用は次のとおりです。
最後に、履歴ディレクトリは、ルートディレクトリを表すinodeの内容を調べたり、 "ls -al /"などのコマンドを実行したときに表示されず、直接chdir()を介してのみアクセスできるという点で "仮想"でなければなりません( "cd ")は過去のパス名で機能します。
私はUNIXファイルシステムAPIを調べてきましたが、それを強制する方法が見つかりませんでした(コマンドラインプログラムやbashスクリプトのこれらの組み合わせがこれを行うことができると思います)。私が間違った方向で考えているのだろうか?
正しい方向についてのアドバイスやヒントをいただきありがとうございます。ありがとう:)
答え1
ディレクトリに対する読み取り権限を削除できます。この場合、そのコンテンツ(権限が許可されている場合はファイルまたはサブディレクトリ)にまだアクセスできますが、ディレクトリコンテンツを一覧表示することはできなくなるため、その名前を知る必要があります(または試してください...)。
答え2
x
権限を付与せずに権限を付与することで、ルート以外のユーザーがディレクトリ内のファイルにアクセスできるようにしながら、ディレクトリの内容を一覧表示するのを防ぎますr
。ディレクトリの場合r
(「読み取り」)は内容を一覧表示できることを意味し、「読み取り」はディレクトリ内または内部のファイルにx
アクセスできることを意味します。cd
しかし、これは権限を参照しないため、割り当てが意味するものではないようです。
通常のファイルシステムの場合、ディレクトリエントリはディレクトリリストに表示されるエントリです。ただし、ファイルシステムドライバを制御する場合、この規則に違反する可能性があります。以下は、実際の環境で見つけることができるいくつかの例です。
- 大文字と小文字を区別しないファイルシステムでは、リストに1つのファイルしか表示されていないディレクトリ内の名前など
Foo
のファイルにアクセスできますFOO
。fOO
ファイルシステムドライバが設計されているので、すべて同じファイルです。 - 一部の自動マウントはディレクトリ名に応じて、それに応じてマウントを試みます。たとえば、NFS用に設定された自動マウントは通常、ユーザーがアクセスするときにマウントを試みてディレクトリが
/amnt/myserver/somedir
存在myserver:/somedir
する/amnt/myserver
ことを決定します/amnt/myserver/somedir
。 - 存在するAVFS、ファイルがアーカイブとして認識されると、ディレクトリにアクセスできますが、偽のディレクトリ名はディレクトリリストに表示されません。
ls ~/.avfs/path/to
aが表示されたら、foo.zip
ディレクトリ~/.avfs/path/to/foo.zip#
も存在します。 - 一部のファイルシステムスナップショットシステムは、タスクの説明に従って動作します。つまり、ディレクトリにアクセスするか、指定された時間前に最新のスナップショットを撮る
/snapshot/20140415022342
場合です。/snapshot/yesterday