O problema é que, quando algum usuário cria um arquivo dentro do compartilhamento as permissões por padrão são configuradas da seguinte forma:
-rwxrwx--- 1 marcelo marcelo 55 2005-01-20 16:46 teste.txt
Verificando a permissão podemos ver que o usuário marcelo e o grupo marcelo são
donos do arquivo. Isto ocorre porque, sempre que adicionamos um usuário é criado por padrão um grupo
com o próprio nome do usuário. Quando o usuário cria um arquivo o dono passa a ser o grupo com o nome
dele.
Se outro usuário do mesmo setor tentasse editar ou excluir o arquivo uma mensagem
de erro aparecia informando que para editar era preciso autorização do usuário marcelo.
Isto se tornaria um impecilho, pois sempre seria preciso atualizar os arquivos da pasta para que o grupo
dono do arquivo fosse Informatica.
Para contornar esta situação existem as permissões especiais.
Para que sempre que um usuário criar um arquivo ou pasta dentro do compartilhamento o grupo dono
seja Informatica(ou outro grupo que queira configurar) é só adicionar o atributo SGID.
Isso é feito adicionando o número 2 antes da permissão.
Ex: para dar permissão total para o usuário e grupo e retirar o acesso para os outros usuários a permissão
seria:
chown Informatica nome_da_pasta_compartilhada;
chmod 2777 -R nome_da_pasta_compartilhada.
Se após isso usar o comando para listar com detalhes ls -l obterá a seguinte informação:
drwxrws--- 2 marcelo CTI 4096 Jan 24 22:20 teste
-rwxrws--- 1 marcelo CTI 55 Jan 24 22:20 teste.txt
Veja que o usuário dono é marcelo e o grupo CTI tanto para pasta quanto para o arquivo criado. Veja também
que surgiu um s na permissão do grupo que significa que o SGID está ativado.
Com isso todos que pertencerem ao grupo teram acesso total ao arquivo e os outros setores não poderam
acessar.
Para que a dica funcione é preciso inserir as linhas abaixo em cada compartilhamento
em /etc/samba/smb.conf:
#acrescente o SGID e a permissão para os arquivos, no meu caso dei permissão para usuário e grupoinherit permissions = yes
create mask = 2770
#acrescenta o SGID e a permissão para o diretório, no meu caso dei permissão para usuário e grupo
directory mask = 2770
Espero que tenha ajudado!
Nenhum comentário:
Postar um comentário