concedendo permissões de gravação para um grupo para uma pasta

29

Como posso conceder permissão de gravação a um grupo?
Eu tenho 2 usuários ( alex e ben ).
alex é membro do grupo alex e do grupo consult .
ben é membro do grupo ben e do grupo consult .

Desejo conceder acesso de leitura / gravação aos alex e ben na pasta consult_documents .

Se eu tornar alex o proprietário do diretório consult_documents e eu conceder 775 acesso ao diretório consult_documents , ben e alex poderão acessar a pasta, eu acho. / p>

Mas isso permitirá também ben acessar outras pastas de alex ? Se um usuário estiver em dois grupos, isso significa que todos os membros de ambos os grupos terão as mesmas permissões em todas as pastas?

    
por anatak 20.02.2014 / 10:35

4 respostas

37

A concessão de 775 permissões em um diretório não significa automaticamente que todos os usuários de um determinado grupo ganharão rwx de acesso a ele. Eles precisam ser o proprietário do diretório ou pertencer ao grupo do diretório:

$ ls -ld some_dir
drwxrwxr-x 2 alex consult 4096 Feb 20 10:10 some_dir/
              ^     ^
              |     |_____ directory's group
              |___________ directory's owner

Assim, para permitir que alex e ben tenham acesso de gravação a some_dir , o próprio diretório some_dir deve pertencer ao grupo consult . Se não for esse o caso, o proprietário do diretório (alex em seu exemplo) deve emitir o seguinte comando:

$ chgrp consult some_dir/

ou para alterar a propriedade do grupo de tudo dentro do diretório:

$ chgrp -R consult some_dir/

Isso só funcionará se alex for um membro do grupo consult , o que parece ser o caso em seu exemplo.

Isso não permitirá o acesso de todos os diretórios do alex por dois motivos:

  1. Nem todos os diretórios de alex pertencem ao grupo consult
  2. Alguns dos diretórios de alex podem pertencer ao grupo consult , mas alex pode não ter escolhido permitir o acesso rwx group a eles.

Em suma, a resposta depende da propriedade do grupo e dos bits de permissão do grupo definidos para o diretório.

Tudo isso é fornecido, desde que você não use medidas adicionais de controle de acesso obrigatório em seu sistema.

    
por 20.02.2014 / 10:51
7

Isso fará com que alex e ben se colabore mutuamente neste diretório, e eles não podem colaborar em outros diretórios.

Modifique o grupo de usuários usando

# usermod -a -G alex,ben alex

Em seguida, altere a Permissão para pasta

# chown alex:ben consult_documents

Verifique aqui, trabalhei por aí

$ sudo usermod -a -G alex,ben alex

$ sudo chown alex:ben consult_documents/

cd consult_documents/

$ touch babin

drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin

$ su - ben

cd /home/alex/consult_documents/

ben@system99:/home/alex/consult_documents$ touch babin1
ben@system99:/home/alex/consult_documents$ ls -la
total 8
drwxrwxr-x 2 alex ben  4096 Feb 20 15:19 .
drwxr-xr-x 3 alex alex 4096 Feb 20 15:17 ..
-rw-rw-r-- 1 alex alex    0 Feb 20 15:19 babin
-rw-rw-r-- 1 ben  ben     0 Feb 20 15:19 babin1
ben@system99:/home/alex/consult_documents$

    
por 20.02.2014 / 10:42
6

Se entendi corretamente sua pergunta, a resposta é sim.

Deixe-me explicar:

Seus direitos de acesso a pastas e arquivos são divididos em três categorias:

xxxyyyzzz
xxx are access rights for the owner
yyy are access rights for the owner's group
zzz are the access rights for everyone else

Todos os arquivos e pastas devem pertencer a um usuário.

O que significa que, se você tem uma pasta chamada consult_documents, e quer que ela seja acessível a todos do grupo Consult, você terá isso (com 755 direitos de acesso):

drwxrwxr-x Alex Consult [......]

O diretório é de propriedade de Alex e o grupo é Consult. Alex tem direitos de acesso RWX. O Group Consult tem direitos de acesso ao RWX. Outros usuários têm direitos de RX.

Como seu usuário Alex tem vários grupos, você pode escolher o grupo com o qual compartilhar.

Por exemplo, se sua pasta é de propriedade de Alex do grupo Alex:

drwxrwxr-x Alex Alex [......]

Faça isso:

chown Alex:Consult your_folder

Será:

drwxrwxr-x Alex Consult [......]

E o diretório está disponível para o grupo Consult.

Observe que, até onde eu sei, você pode adicionar um grupo que não seja do grupo do proprietário. Mas não tenho certeza se é recomendado (não é claro ao ler os direitos de acesso).

    
por 20.02.2014 / 10:47
2

setfacl -m g: debian-transmissão: rwx -R / mnt / sra

Encontrou este comando legal, em vez de chown , que mudará completamente o dono do arquivo ou diretório!

Você verá em um 'ls -Al' que um sinal + será adicionado para mostrar que há mais de um proprietário!

drwxr-xr-x 2 root root 4096 Nov 8 19:11 sdc1/

drwxrwxr-x+ 3 root root 4096 Feb 17 19:16 sra/

E então você pode usar getfacl para ver quem pode escrever ou ler o arquivo ou diretório!

# file: sra

# owner: root

# group: root user::rwx

group::r-x

group:debian-transmission:rwx

mask::rwx

other::r-x

default:user::rwx

default:group::r-x

default:group:debian-transmission:rwx

default:mask::rwx

default:other::r-x

    
por 18.02.2018 / 01:57