私はこれが本当かどうかわからなかったので、衝撃的なことを学びました。
次の権限を持つディレクトリがある場合:
user@host:~$ ls -la testdir
total 8
drwxrwxrwx 2 user user 4096 Mar 3 20:36 .
drwx------ 34 user user 4096 Mar 3 20:36 ..
-rw-r--r-- 1 user user 0 Mar 3 20:36 testfile 1
-rw-r--r-- 1 user user 0 Mar 3 20:36 testfile 2
ファイルtestfile 1
がtestfile 2
あります所有者の書き込み権限のみ誰でも書くことができます。
これまでは、ディレクトリ権限が影響を与えると思います。ディレクトリ自体。
今私の質問は - すべてがファイルがあるディレクトリの権限によって設定されているようであれば、ファイルに対するファイル権限はどのように使用されますか?
====編集 1====
一方、次の権限を確認してください。
[user@geruetzel2 default]$ ls -la
total 24
drwxr-xr-x. 2 root root 41 Dec 19 23:07 .
drwxr-xr-x. 96 root root 8192 Mar 3 20:28 ..
-rw-r--r--. 1 root root 354 Dec 19 23:07 grub
-rw-r--r--. 1 root root 1756 Nov 30 19:57 nss
-rw-------. 1 root root 119 Mar 6 2015 useradd
cat useradd
ここでroot以外のユーザーとして実行すると、許可が拒否されました間違い。なぜそんなことですか?ディレクトリに「その他」に対する読み取り権限があるため、読み取ることができる必要がありますか?私が提示した2つの例の間に違いがあるようです。しかし、他の動作の理由は見えません。
ベストアンサー1
ディレクトリ権限は、「唯一の」ディレクトリの内容に影響します。したがって、ファイルまたはフォルダの権限が書き込みアクセス禁止に設定されていても、ディレクトリへの書き込みアクセス権を持つ人は誰でもそのディレクトリにあるファイルまたはフォルダを削除できます。または他のテキストエディタを使用してフォルダを開くと、
理解しやすくなります。vi
UnixとLinuxでは、「すべてがファイルです」。
たとえば、ファイル編集を使用すると、vi
ファイルを所定の場所に編集するのではなくコピーを作成し、保存時に元のファイルを削除します。
一方、ファイルを所有していないユーザーはecho
そのファイルに直接アクセスできません。