Ограничительные «групповые» разрешения, но открывают «мировые» разрешения?

Я понимаю, что с разрешениями файлов Unix есть «пользовательский», «групповой» и «мировой» октеты . Ради этого обсуждения предположим, что setuid / sticky bits не существует.

Рассмотрим следующий пример:

$ echo "Hello World" > strange $ chmod 604 strange $ ls -l strange -rw----r-- 1 mrllama foo 12 Apr 13 15:59 strange 

Предположим, что есть еще один пользователь, john , который является членом моей группы, foo .

  • Какие разрешения имеет у Джона относительно этого файла?
  • Происходит ли система с наиболее конкретным разрешением соответствия (то есть Джон не является владельцем, но он находится в группе foo , поэтому используйте разрешения для октета «group»)?
  • … или это происходит по большинству разрешений октетов, которые относятся к нему (т. е. Иоанн соответствует критериям «группы» и «мира», так что это происходит с более разрешительным из двух)?

Бонусные вопросы:

  • Что делать, если разрешения были 642 ? Может ли Джон читать только, писать или оба?
  • Есть ли причины иметь странные разрешения, такие как 604 ?

2 Solutions collect form web for “Ограничительные «групповые» разрешения, но открывают «мировые» разрешения?”

При определении разрешений доступа с использованием разрешений в стиле Unix текущий пользователь сравнивается с владельцем файла, тогда группа и применяемые разрешения относятся к первому компоненту, который соответствует. Таким образом, у владельца файла есть разрешения владельца (и только те), члены группы файлов имеют разрешения группы (и только те), у всех остальных есть разрешения «других пользователей».

Таким образом:

  • У John нет разрешений для этого файла.
  • Наиболее конкретное совпадение разрешений выигрывает, а не самый разрешительный (права доступа не являются кумулятивными).
  • С разрешениями 642 Джон мог прочитать файл.
  • Есть причины предоставить разрешения, такие как 604 : это позволяет исключить группу, что может быть удобно в некоторых ситуациях – я видел это в академических системах со students группой, где сотрудники могли создавать файлы, доступные для всех, кроме студентов.

root имеет доступ ко всему, независимо от разрешений, определенных в файле.

Для более сложного контроля доступа вы должны изучить списки управления доступом SELinux и POSIX . (SELinux, в частности, может даже ограничить доступ к root .)

Предполагая, что john не несет uid 0 , john будет иметь никаких прав, поскольку john является членом группы, и проверка разрешения не будет рассматривать мировые биты из-за группового соответствия (источник: «Расширенное программирование в среде Unix», глава 4, раздел 5, стр. 80 в первом издании.) 642 приведет к тому, что 4 бита будут применяться по той же причине. 604 довольно необычно, но может подойти тому, что кто-то не хотел видеть других членов своей группы.

  • выполнить chmod во время загрузки на безголовом debian
  • Возможно ли создать файл, который не может быть удален обычным пользователем, даже если у всех каталогов есть разрешение 777?
  • Разрешения mkdir не соответствуют umask (изменение зависит от местоположения)
  • почему цикл while работает с терминала, если у ld-2.17.so нет исполняемого разрешения?
  • Список изменений chmod и chown
  • chmod и chown не работают в sudo, называемом скриптом
  • Сбросить бит setgid с числовым режимом chmod
  • Разрешение файла с помощью setuid и октал 4000
  • Безопасно ли менять владельца системных папок OS X?
  • Применение разных разрешений к файлам и каталогам
  • почему setfacl не дает исполняемого разрешения?
  • Linux и Unix - лучшая ОС в мире.