Назад | Перейти на главную страницу

ACL файла Linux и вторичные группы

Эта проблема: CentOS, похоже, не смотрит на вторичные группы при использовании ACL для папки или файла

Сценарий: Базовая установка CentOS 6 использует учетные записи LDAP для аутентификации пользователей. Я пытаюсь установить довольно сложные разрешения для некоторых папок. Я убедился, что файловая система смонтирована с поддержкой ACL, и определил, что пользователи LDAP могут правильно входить в систему.

Действия по воспроизведению: В качестве теста у меня простая структура папок. Папка test1 принадлежит root и имеет 770 разрешений, я добавил еще одну группу в эту папку setfacl -m g:testgroup:rwx test1/ Вывод getfacl для папки выглядит так:

getfacl: Removing leading '/' from absolute path names
# file: share/test1/
# owner: root
# group: root
user::rwx
group::rwx
group:testgroup:rwx
mask::rwx
other::---

Пользователь andrew принадлежит к группе домена и тестовой группе, как показано groups andrew. Домен группы - это основная группа пользователей. Если пользователь andrew пытается прочитать что-либо, находящееся в test1, отображается ошибка отказа в разрешении. Если, однако, основная группа пользователей изменена на тестовую группу, пользователь может взаимодействовать с содержимым папки.

Может ли кто-нибудь сказать мне, что здесь происходит, и есть ли способ добиться ожидаемого поведения?

РЕДАКТИРОВАТЬ Похоже, это проблема, связанная с LDAP. Я только что протестировал использование локальных учетных записей, и все работает, как ожидалось.

Как вы говорите, эта проблема связана с использованием LDAP для получения информации о пользователях. Ваш компьютер Centos6 настроен таким образом, что несовместим с сервером LDAP, поэтому, когда он пытается получить список дополнительных групп, к которым принадлежит пользователь, он ничего не находит.

К сожалению, существует несколько стандартов интерпретации атрибутов LDAP, относящихся к группам POSIX - rfc2307, rfc2307bis, IPA.

Centos 6 использует SSSD для управления взаимодействием с удаленными каталогами и базами данных аутентификации. По умолчанию для SSSD используется rfc2307.

Вы, вероятно, обнаружите, что ваш сервер LDAP использует rfc2307bis. У нас есть сервер каталогов Centos 5, по умолчанию он был настроен на rfc2307bis. В качестве дополнительной сложности наш каталог C5 использовал атрибут uniqueMember вместо или member для членов группы.

Чтобы исправить это, отредактируйте /etc/sssd/sssd.conf и добавьте следующие строки:

ldap_schema = rfc2307bis
ldap_group_member = uniqueMember

Вы также можете сослаться на следующее:

Вы пробовали смотреть на числовой идентификаторы обеих групп, к которым принадлежит пользователь, и ACL каталога? Пытаться getfacl -n test1 и сравните перечисленные группы с выводом id -G andrew. Посмотрите, есть ли там несоответствия, и попробуйте устранить их.