Grupos de usuários do Linux e permissões do sistema de arquivos

2

Suponha que eu tenha grupos G1 e G2 e usuário U .

O usuário U é membro de ambos os grupos, mas G1 é o grupo principal.

No meu sistema de arquivos, existe uma pasta F que pode ser acessada por G2 . Agora, se U quiser acessar F , a única maneira de fazer isso é fazer newgrp G2 e, em seguida, acessar, o que não é o que eu quero que meus usuários façam o tempo todo.

O que devo fazer?

Exemplo concreto:

ajalali@ws47lx:/projects/gchrupala$ stat .
  File: '.'
  Size: 17          Blocks: 0          IO Block: 1048576 directory
Device: 15h/21d Inode: 150         Links: 3
Access: (0775/drwxrwxr-x)  Uid: ( 6052/gchrupala)   Gid: ( 6000/nis_users)
Access: 2015-03-05 15:34:46.260662858 +0100
Modify: 2013-03-05 16:35:16.000000000 +0100
Change: 2013-06-10 20:40:25.418034444 +0200
 Birth: -
ajalali@ws47lx:/projects/gchrupala$ id
uid=1004(ajalali) gid=1001(ajalali) groups=1001(ajalali),6000(nis_users),6060(admin),6061(sudo),1625200000(admins),1625200001(lsv_local),1625200035(compute_server_users),1625200036(contact_server_users)
ajalali@ws47lx:/projects/gchrupala$ mkdir tmp
mkdir: cannot create directory 'tmp': Permission denied

O usuário (ajalali) é um membro do grupo que possui a pasta atual (6000), mas não pode fazer nada lá, porque seu grupo primário (1001) não é o grupo que possui a pasta atual.

Ele só funcionará se o usuário usar newgrp nis_users primeiro e tentar criar uma pasta lá.

    
por adrin 06.03.2015 / 10:38

1 resposta

5

Isso parece um problema do NFS. O NFS está envolvido?

Os servidores NFS em execução nos sistemas baseados em Debian e, possivelmente, em outros, são configurados para ignorar grupos suplementares, a menos que seja explicitamente informado o contrário. Assegure-se de que --manage-gids tenha sido fornecido para o programa rpc.mountd . Nos sistemas Debian, isso é feito editando /etc/default/nfs-kernel-server e garantindo que RPCMOUNTDOPTS=--manage-gids esteja presente.

    
por 06.03.2015 / 12:51