Por que um usuário é adicionado apenas a um grupo de cada vez?

1

Eu tenho um conhecimento limitado de sistemas Linux, então estou nua comigo :) Estou tentando adicionar o Apache e um usuário chamado admin ao mesmo grupo no CentOS. Quando eu executo id admin eu recebo grupos 1000 (apache) e grupo 1002 (admin), quando eu executo id apache eu recebo grupos 1000 (apache) e 1003 (acesso).

Eu vejo que ambos são membros do grupo 1000 (apache), mas quando tento adicionar admin ao grupo 1003 (acesso) também via usermod -G access admin , ele exclui o admin do grupo apache por algum motivo (então, quando eu executo o 'id admin' eu recebo os grupos 1002 e 1003, mas ele não está listado como parte do 1000 mais).

Existe uma limitação do número de grupos dos quais um usuário pode ser membro? Se não, como os coloco no mesmo grupo?

Meu problema é devido a problemas de permissões - em uma pasta específica, que é de propriedade de 'admin', por exemplo, quando tento criar um novo diretório ou fazer upload de um arquivo com o usuário admin, posso fazê-lo. No entanto, quando tento fazer isso usando o usuário do apache, não consigo.

Editar: saída para getfacl:

getfacl: Removing leading '/' from absolute path names
# file: home/admin/domains/xxx/public_html/xxx/xxx
# owner: apache
# group: apache
user::rwx
user:apache:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:apache:rwx
default:group::rwx
default:mask::rwx
default:other::r-x

14 de abril, edição:

getfacl: Removing leading '/' from absolute path names
# file: home/admin/domains/public_html/xxx/xxx
# owner: apache
# group: apache
user::rwx
user:admin:rwx
group::rwx
mask::rwx
other::r-x
default:user::rwx
default:user:admin:rwx
default:group::rwx
default:mask::rwx
default:other::r-x
    
por MAR 30.03.2016 / 13:46

2 respostas

3

Mar, como eu sempre Se você respondeu à sua pergunta anterior , não é necessário adicionar usuários a nenhum grupo para obter acesso a arquivos em uma pasta específica e em suas subpastas, pois as ACLs POSIX são suficientes para resolver esses problemas.

Use o comando abaixo:

setfacl -Rm d:u:apache:rwX,u:apache:rwX /path/to/your/folder

A partir de agora, o usuário apache (e admin) pode fazer o que quiser nessa pasta e suas subpastas, mas ninguém mais.

-Rm R ecursivamente m odifica as ACLs

u: apache: rwX Defina as ACLs para o usuário apache para arquivos existentes e (sub) pastas de inicialização da pasta

d: u: apache: rwX Defina ACLs para o usuário apache para arquivos recém-criados e (sub) pastas

Você pode remover todas as ACLs adicionais a qualquer momento usando

setfacl -Rb /path/to/your/folder
    
por 30.03.2016 / 14:52
4

Quando eu adiciono admin ao grupo de acesso, ele apaga o admin do grupo apache

usermod -G access admin

Você não está usando usermod corretamente.

If the user is currently a member of a group which is not listed, the user will be removed from the group. This behaviour can be changed via the -a option, which appends the user to the current supplementary group list.

Use o seguinte comando:

usermod -G access, apache admin

Ou:

usermod -a -G access admin

usermod (8) - Página man do Linux

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
           A list of supplementary groups which the user is also a member
           of. Each group is separated from the next by a comma, with no
           intervening whitespace. The groups are subject to the same
           restrictions as the group given with the -g option.

           If the user is currently a member of a group which is not listed,
           the user will be removed from the group. This behaviour can be
           changed via the -a option, which appends the user to the current
           supplementary group list.

Fonte usermod (8) - Página man do Linux

    
por 30.03.2016 / 13:52