2

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

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

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

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

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

2 ответа2

3

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

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

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

1

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

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

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

  3. Все: r--

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .