Определение эффективных прав доступа к файлам

Определение эффективных прав доступа к файлам

Я хотел бы спросить, какие правила ОС Linux использует в ext4файловых системах при возникновении конфликтов между разрешениями на доступ к каталогам и разрешениями на доступ к файлам.

Пример:

 drwxrwx--- user1 group2 FOLDER
 -rw-r--r-- user1 group1 FILE

group2Какие разрешения на доступ к файлу будут у пользователя FILE? И каково общее правило определения разрешений на доступ к файлу в таких ситуациях?

Спасибо.

решение1

Если пользователь входит в группу group2, то он будет следовать групповым разрешениям для каталога 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

Обратите внимание на изменение inode после vimперезаписи файла. Также обратите внимание, что vim выдал предупреждение о том, что файл доступен только для чтения. Мне пришлось сохранить его с помощью :w!.

Связанный контент