ファイルと現在のディレクトリを開く権限

ファイルと現在のディレクトリを開く権限

私はunix / linuxのファイルとディレクトリの権限を理解しようとしています。

私の考えにはおおよその考えがあると思います。

cat ~/foo/bar/text.txt  

x+r、の許可が必要です。~~/foo~/foo/barr~/foo/bar/text.txt

xしかし、権限がないと仮定~/foo/barし、現在のディレクトリが~/foo/bar(たぶんrootユーザーがsu userそこに作成した可能性がある)そこに入力すると仮定します。

cat text.txt

rwxテストしてみると権限があるのに権限がないと出てきますtext.txt

だから私の質問は:私が入力したとき

cat text.txt

システムは実際にcat ./text.txt現在のディレクトリ権限を解釈して確認しますか? (パスに言及していないディレクトリは権限チェックをしないと思いましたが、現在のディレクトリもチェックしませんか?)

したがって、この場合(現在のディレクトリがどこにあるのか~/foo/bar、何をしたいのかcat text.txt)、権限は~/foo重要ではありません。しかし、~/foo/barそうですか?

答え1

ファイルを開く操作では、現在のディレクトリ(ファイル)に保存されている対応するディレクトリエントリの属性と物理的な場所を読み取る必要があります。

これがライセンスの問題がある理由です。

そうでなければ、仮定は正しいです。システムは指定されたパスにのみアクセスします。ローカルディレクトリへのアクセスsudo権のみを付与すると、x例ではファイルにアクセスできます。

rこの権限はディレクトリエントリを検索するために必要ではありませんが、その内容を一覧表示するためには必要です。

関連情報