Я немного запутался в том, как заставить это работать.

У меня работает ACL, и мне нужно создать две группы:

  • github-total: группа, в которой пользователи в этой группе имеют разрешения на чтение / запись / выполнение для папки "/ var / git".
  • github-read: группа, которую пользователи в этой группе имеют права на чтение в папке "/ var / git".

Для группы «github-total» я сделал следующее:

Как пользователь "git":

$ cd /var
$ mkdir github
$ chmod 770 github
$ ls -al
drwxrwx---+  3 git git   4096 Oct  4 21:48 github


# useradd andre -m
# passwd andre
# groupadd github-total
# usermod -a -G github-total andre
# id andre
uid=500(andre) gid=500(andre) groups=500(andre),502(github-total) context=user_u:system_r:unconfined_t
# cd /var
# setfacl -R -m group:github-total:rwx github
# setfacl -R -d -m group:github-total:rwx github
# getfacl github
file: github
owner: git
group: git
user::rwx
user:git:rwx
group::rwx
group:git:rwx
group:github-total:rwx
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:github-total:rwx
default:mask::rwx
default:other::---

К сожалению, это не работает для меня, с пользователем "andre", я не могу перечислить "/var/github"

$ cd /var/github
bash: cd: /var/github: Permission denied

Как я могу перечислить эту папку, добавив группу в ACL?

С уважением,

PS: извините за мой английский ...

ОБНОВЛЕНИЕ 1:

Я обнаружил, что если я делаю id без аргументов с пользователем "andre", я получаю это:

$ id
uid=500(andre) gid=500(andre) groups=500(andre) context=user_u:system_r:unconfined_t

Группа "github-total" не входит в группу для пользователя "andre"

Если я сделаю:

$ id andre
uid=500(andre) gid=500(andre) groups=500(andre),502(github-total) context=user_u:system_r:unconfined_t

Что это значит?

2 ответа2

0

Что такое режим SELinux? Если вы используете "принудительное выполнение", вам придется настроить контекст созданной вами папки. Запустите команду sestatus и, если она включена, временно отключите ее с помощью setenforce 0 и посмотрите, сможете ли вы получить доступ к папке.

Для CentOS, RedHat или Scientific Linux эта ссылка должна помочь CentOS SELinux Wiki

0

Ваш ACL правильный, так что это не проблема. Я думаю, что это проблема с членством в группе Андре.

Если вы добавите пользователя в группу во время входа в систему, членство в группе не вступит в силу, пока пользователь не выйдет из системы и не вернется в нее. Попробуйте выйти и снова войти и посмотреть, работает ли это.

Между прочим, когда вы создаете группу «github-read», группе потребуются разрешения на чтение и выполнение для каталога, а не только на чтение. Я не знаю, знали ли вы это, но я подумала, что лучше все равно рассказать вам.

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