ユーザーが自分のディレクトリで作業するときいいえ読み取り権限がある場合、cdを使用すると、サブディレクトリが存在するかどうかによって異なるエラーメッセージが生成されます。
$ ls
ls: cannot open directory .: Permission denied
$ cd nonexistentdirectory
-bash: cd: nonexistentdirectory: No such file or directory
$ cd existingdirectory
-bash: cd: username: Permission denied
これは質問です:ユーザーが読み取り権限なしでこの方法でリストされたディレクトリを無差別に代入できるのはセキュリティ上の欠陥ですか?もしそうなら、これはUNIXまたはBashの欠陥ですか?
ベストアンサー1
機能は正常に動作するため、これはセキュリティ上の欠陥ではありません。 (この機能がほとんど偶然に登場したことを考えると、これは驚くべきことではありません。)
ユーザーがディレクトリに対する実行権限を持っているが読み取り権限がない場合、ユーザーはディレクトリ名のみを知っていると、ディレクトリ内のすべてのエントリにアクセスできます。このアクセスには、名前、タイプ、サイズ、日付など、アイテムのすべてのメタデータが含まれます。したがって、ユーザーは、存在しないアイテムと自分がアクセスできないコンテンツを含む既存のアイテムを区別できます。
項目名はパスワードと同じです。パスワードを知ると、その項目にアクセスできます。エントリには追加のアクセス制限があるかもしれませんが、これは関係のない質問です。可能なすべてのパスワードを試して、いつでも無差別パスワード認証を実行できます。
--xディレクトリのエントリに関する情報を公開したくない場合は、推測できない名前(つまり、十分に長い任意の名前)を使用してください。