ext4
ディレクトリ権限とファイル権限が競合している場合に、Linux OS がファイル システムで使用しているルールについて教えてください。
例:
drwxrwx--- user1 group2 FOLDER
-rw-r--r-- user1 group1 FILE
group2
ファイル内のユーザーにはどのような権限がFILE
与えられますか?...また、このような状況でファイルの権限を決定するための一般的なルールは何ですか?
ありがとう。
答え1
ユーザーがグループ2に属している場合は、ディレクトリFOLDERのグループ権限に従います。つまり、
rwx
彼らがuser1でもgroup1でもないと仮定すると、FILEの「その他」の権限を確認します。つまり、
r--
したがって、このファイルに対しては読み取り権限しかありません。これは少し紛らわしいので注意してください。書き込み権限がないため、このファイルを直接変更することはできません。ただし、wx
ディレクトリに対しては書き込み権限があるためrm
、このファイルにアクセスして新しいファイルに置き換えることはできます。(注意: inode は変更される可能性があり、元の所有者にはアクセスできないchown
ため、ファイルを直接変更するのとまったく同じではありません。)
したがって、一般的に、権限は最も親のディレクトリから継承されます。権限が厳しくなると、子のファイルとディレクトリが制限されます。ただし、上記のように、wx
最上位のディレクトリへの権限がある場合は、回避策があります。
編集
同様に、 でファイルを編集するとvim
、inode が変更されます。これは「編集」ではなく、「上書き」です。
$ echo foo > file
$ ls -li file
5213942 -rw-r--r-- 1 sparhawk sparhawk 4 Aug 16 15:34 file
$ sudo chown root:root file
$ ls -li file
5213942 -rw-r--r-- 1 root root 4 Aug 16 15:34 file
$ vim file
$ ls -li file
5214750 -rw-r--r-- 1 lee lee 7 Aug 16 15:35 file
vim
ファイルを上書きした後の inode の変更に注意してください。また、vim がファイルが読み取り専用であるという警告を出したことに注意してください。 を使用して保存する必要がありました:w!
。