Linux - Como obter a ACL do sistema de arquivos para permitir que o grupo tenha permissão para a pasta

0

Estou um pouco confuso sobre como fazer isso funcionar.

Eu tenho o ACL funcionando e preciso criar dois grupos:

  • github-total: agrupa que os usuários desse grupo tenham permissões para a pasta "/ var / git" para ler / gravar / executar.
  • github-read: grupo que os usuários desse grupo têm permissões para a pasta "/ var / git" ler.

Para o grupo "github-total", fiz o seguinte:

Como usuário "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::---

Infelizmente isso não está funcionando para mim, com o usuário "andre", não consigo listar "/ var / github"

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

Como posso listar esta pasta adicionando um grupo à ACL?

Atenciosamente,

PS: Desculpe pelo meu inglês ...

UPDATE 1:

Descobri que, se eu fizer id sem argumentos com o usuário "andre", recebo isto:

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

O grupo "github-total" não está incluído como um grupo para o usuário "andre"

Se eu fizer:

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

O que isso significa?

    
por André 05.10.2011 / 10:17

2 respostas

0

Sua ACL está correta, então esse não é o problema. Eu acho que é um problema com membros do grupo de andre.

Se você adicionar um usuário a um grupo enquanto o usuário estiver conectado, a participação no grupo não será efetivada até que o usuário efetue logout e volte. Tente fazer logout e voltar e veja se isso funciona.

A propósito, quando você criar o grupo "github-read", o grupo precisará de permissões de leitura e execução no diretório, e não apenas de permissão de leitura. Eu não sei se você já sabia disso, mas achei que seria melhor te contar de qualquer maneira.

    
por 05.10.2011 / 21:53
0

Qual é o modo do SELinux? Se você está executando o "enforcing", então você terá que ajustar o contexto da pasta que você criou. Execute o comando sestatus e, se estiver ativado, desative-o temporariamente com setenforce 0 e veja se consegue acessar a pasta.

Para CentOS, RedHat ou Scientific Linux, este link deve ajudar CentOS SELinux Wiki

    
por 06.10.2011 / 21:24