私はこれが本当かどうかわからなかったので、衝撃的なことを学びました。
次の権限を持つディレクトリがある場合:
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
そのファイルに直接アクセスできません。
答え2
いいえ、許可なしにファイルを書き込むことはできません。 - しかし、削除して同じ名前で新しいファイルを作成することはできます。これを行うには、そのファイルがあるディレクトリに対する書き込み権限が必要です。
目次と一緒に...
x
許可なしにはほとんど何もできません- 一人
r
でできるただ内容を非再帰的に一覧表示し、名前のみを表示します。エントリがディレクトリなのかファイルなのかわかりません。エントリを開くこともできません。
- 一人
- 一人
x
でできるcd
そのディレクトリに移動- すべてのファイルとサブディレクトリにアクセスする読み取りおよび書き込みの包含権限の設定(彼らの言葉によると私自身権限)名前を知っている場合
- 一人では何もできない
w
(!?) - あなたはする必要があります
x
そしてw
到着- アイテムの追加(例:ファイル/ディレクトリの作成)
- アイテムの削除(例:ファイルの削除や空のディレクトリの削除)
- これを行うには、ファイル自体に対する権限は必要ありません。
- 空でないディレクトリは削除できません...
- ...サブディレクトリに対する権限が不足すると、親ディレクトリの所有者がそのコンテンツを削除できない可能性があります。つまり、繰り返し削除が可能です。
dir1/dir2/dir3/file
必要に応じてくださいx
dir1
、dir2
およびdir3
dir3
および/またはfile
タスクに応じて一部の権限