Запрос прав доступа к файлам в Linux

1634
Tom Wijsman

Допустим, я пользователь bob в группе пользователей . Там этот файл:

-rw----r-- 1 root users 4 May 8 22:34 testfile 

Первый вопрос:
почему Боб не может прочитать файл, так как он читается другими? Это просто, что если вам отказано в группе, то вы автоматически занесены в черный список для других? Я всегда предполагал, что последние 3 бита имеют приоритет над битами прав доступа пользователя / группы, но я ошибся ...

Второй вопрос:
как это реализовано? Я предполагаю, что это связано с первым запросом, но как это работает в отношении контроля доступа, это связано с тем, как ACL работают / запрашиваются? Просто пытаюсь понять, как эти 9 разрешающих битов действительно реализованы / используются в Linux.

Большое спасибо.

2
Если Боб находится в группе пользователей и у группы пользователей нет разрешения на чтение, то у Боба нет разрешения на чтение, даже если у Боба есть разрешение, а у других есть разрешение, это настоящая ошибка! Чтобы Боб прочитал его, либо удалите Боб из группы пользователей, либо chmod g + r файл! 14 лет назад 0

2 ответа на вопрос

3
T.Rob

Ответ заключается в том, что наиболее конкретные разрешения, которые применяются к пользователю, имеют приоритет.

  • Пользовательские биты определяют, применяются ли они к пользователю, запрашивающему доступ.
  • Групповые биты применяются, если пользователь не является владельцем, но находится в группе.
  • Другие биты применяются, только если первые два набора не применяются.

Так что это не объединение разрешений, а приоритет от конкретного к общему.

1
Daisetsu

Проще говоря, мы должны разбить разрешения на 3 части.

  1. Владелец: rw-

  2. Группа (пользователи): ---

  3. Все: r--

Владельцу мы предоставляем права на чтение и запись. К группе мы явно не предоставляем доступ. Каждому мы предоставляем доступ для чтения.

Проблема здесь в том, что вы явно запретили пользователям группы, к которой принадлежит файл (группа: пользователи), доступ к файлу в любой форме. В Linux эти разрешения не являются частью иерархии, это плоская структура. Вам нужно изменить права доступа на rw-r - r--, чтобы все, включая вашу группу "пользователи", могли прочитать файл.

Третий набор разрешений не распространяется на «всех». Это относится ко всем ** остальным **, которые не являются владельцами и не входят в группу. http://superuser.com/questions/547699/difference-between-chmod-777-and-chmod-007 sawdust 11 лет назад 1

Похожие вопросы