「読み取り」権限なしでディレクトリを表示できるのはなぜですか?

「読み取り」権限なしでディレクトリを表示できるのはなぜですか?

これで、私は "lawrence.li"ユーザーで、 "読み取り"権限を持つ"lijunda"ディレクトリを見ることができます。

ここに画像の説明を入力してください。

しかし、今「読み取り」権限がないのに、なぜこのディレクトリを見続けることができますか?

ここに画像の説明を入力してください。

「r」と「-」(読み取り権限なし)の違いについて混乱しています。理由を教えてくれる人はいますか?非常にありがとう

答え1

試してls -l /tmp/lijundaみてください。それからあなたが見ることは名前- そのファイルを開くことができず、ディレクトリ内のファイルのファイルサイズ、権限などを表示することもできません。

このためですディレクトリ自体にはファイル名とinode番号のみが含まれています。-それだ。

読み取りアクセスファイル名読み取り権限で制御されます。

入場インデックスノードディレクトリが指す権限は、読み取り権限ではなく実行権限によって制御されます。インデックスノードには、すべての実際の詳細が含まれています。~についてファイルサイズ、所有者、アクセス許可、最後の変更時刻、ファイルの内容を含むバイナリデータの物理的な場所(物理ハードディスク)などのファイル。

見るには名前ディレクトリ内のファイル— このディレクトリに対する読み取り権限が必要です。これには実行または書き込み権限は必要ありません。

見るには詳細ディレクトリ内のファイルつまり、inodeの内容を表示するには、ディレクトリに対する実行権限が必要です。ディレクトリに対する読み取り権限は、ファイルの詳細表示には影響しません。ファイル名が既にわかっている場合。

ファイルの詳細を見るまだ知らない名前、読まなければならないそして権限を実行します。

ついに、確認するコンテンツファイルの- あなたは次のことを行う必要があります。

  1. ファイル自体に対する読み取り権限、
  2. *ファイルを含むディレクトリに対する実行権限
  3. 次のうちの1つ以上:ファイルを含むディレクトリに対する読み取り権限または別の方法でファイル名を確認してください。

以下の例をご覧ください。

$ whoami
vagrant
$ ls -l
total 12
drwxrwx--x 2 pete pete 4096 Dec 24 08:51 execute_only
drwxrwxr-x 2 pete pete 4096 Dec 24 08:52 read_and_execute
drwxrwxr-- 2 pete pete 4096 Dec 24 08:52 read_only
$ ls -l read_only/
ls: cannot access read_only/mysterious_file: Permission denied
total 0
-????????? ? ? ? ?            ? mysterious_file
$ cat read_only/mysterious_file 
cat: read_only/mysterious_file: Permission denied
$ ls -l execute_only/
ls: cannot open directory execute_only/: Permission denied
$ ls -l execute_only/unicorn_file
-rw-rw-r-- 1 pete pete 55 Dec 24 08:51 execute_only/unicorn_file
$ cat execute_only/unicorn_file
This file only exists for you if you know it's here ;)
$ ls -l read_and_execute/
total 4
-rw-rw-r-- 1 pete pete 83 Dec 24 08:52 jack_sparrow
$ cat read_and_execute/jack_sparrow 
"After the reading, you will be executed."
"That's *Captain* Jack Sparrow to you!"
$ 

*実行権限も必要です。みんなところで、親ディレクトリはルートディレクトリまで続きます。

答え2

読み取り権限とは、ファイルの内容を読み取る権限を意味します。どのファイル/ディレクトリが存在するかを確認するには、そのディレクトリ自体に対するユーザーの実行権限を削除する必要があります。もちろん、これはユーザーがこれ以上表示できないことを意味します。どのこのディレクトリのファイル/ディレクトリです。

バラよりこのリンクたとえば、

ディレクトリ権限

chmodコマンドを使用してディレクトリアクセス権を制御することもできます。ほとんどの場合、ディレクトリの権限スキームはファイルの権限スキームと同じように機能します。ただし、実行権限は異なります。ファイルリストやその他のコンテンツへのアクセス制御を提供します。

編集:ディレクトリtmpではなく親ディレクトリ()を参照するという意味なので、これを明確に説明していないようです。lijunda@Wildcardはこの質問に良い答えを提供しました。ここ

関連情報