De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Francisco Kem-iti Saito
Data de Publicação: 01 de Setembro de 2005
O modelo tradicional Usuário/Grupo/Outros (UGO ) do Linux não permite ajustes finos para controle de permissões. Por exemplo, não é possível negar permissões a Maria e Joaquim do grupo ADM se o grupo ADM tiver suas permissões configuradas para acessar um arquivo.
O modelo de permissões da família NT da Microsoft é baseado em Listas de Controle de Acesso (ACL).
Cada ACL é composta por uma ou mais Entradas de Controle Segurança(ACE). Quando um operador tenta acessar um recurso da rede, cada ACE é consultada e empilhada na ACL. Testa-se primeiro as permissões de negação explícitas e posteriormente as permissões positivas. A primeira ACE que referenciar o operador é aplicada.
O sistema de arquivos ext3, com patches em versões recentes da linha 2.4 do kernel e oficialmente no kernel 2.6, permite o uso de ACL de uma forma bastante parecida com sistemas da família NT (ainda faltam grupos aninhados, por exemplo).
A metodologia empregada na implementação do uso de ACL em Linux é baseada no uso de Atributos Estendidos (EA em [1]) no sistema de arquivos.
Cada atributo estendido é um par atributo/valor associado a um arquivo ou pasta. Cada par pode receber valores arbitrários.
As ACL são uma implementação específica de EA. Cada par contém um atributo(grupo ou usuário) e um valor (a permissão).
Para ativar o uso de EA em uma partição ext3, basta adicionar "user_xattr" nas opções de montagem no arquivo /etc/fstab.
Para Debian (Sarge e superior), instale as ferramentas de console para uso de EA:
apt-get install attr
Para testar o uso de EA no sistema de arquivos, reinicie a máquina ou remonte o sistema de arquivos reconfigurado.
O exemplo abaixo, mostra a criação, usando setfattr, de um atributo chamado autor com valor "Saito" para o arquivo arquivo.txt e na sequência a leitura do atributo com o uso do comando getfattr.
touch arquivo.txt setfattr -n user.autor -v "Saito" arquivo.txt getfattr -n user.autor arquivo.txt
De forma similar, para ativar o uso de ACL em um sistema de arquivos que tenha suporta a ACL, basta colocar o termo "acl" nas opções de montagem dentro do arquivo /etc/fstab.
Além disso, instalar o pacote de programas administrativos para ACL (pacote acl no debian)
apt-get install acl
Para testar o uso de ACL no sistema de arquivos, reinicie a máquina ou remonte o sistema de arquivos reconfigurado.
A sequência abaixo mostra o uso de ACL no sistema de arquivos:
touch arquivo.txt
Situação Inicial do arquivo, criado por root:
getfacl arquivo.txt # file: arquivo.txt # owner: root # group: root user::rw- group::r-- other::r--
Adição de direitos ao grupo 4linux (o parâmetro -m indica modificação, g implica em grupo)
setfacl -m g:4linux:rwx getfacl arquivo.txt # file: arquivo.txt # owner: root # group: root user::rw- group::r-- group:4linux:rwx mask::rwx other::r--
Remoção de direitos do usuario maria (o parâmetro -m indica modificação, u implica em usuário):
adduser maria gpasswd -a maria 4linux setfacl -m u:maria:--- getfacl arquivo.txt # file: arquivo.txt # owner: root # group: root user::rw- user:maria:--- group::r-- group:4linux:rwx mask::rwx other::r--
Veja que o grupo 4linux continua com os direitos, contudo maria é explicitamente desautorizada.
Remoção de todas as ACL do arquivo:
setfacl -b arquivo.txt getfacl arquivo.txt # file: arquivo.txt # owner: root # group: root user::rw- group::r-- other::r--
O uso correto de ACL no sistema de arquivos do sistema hospedeiro do SAMBA e o correto mapeamento de usuários e grupos, permite que as permissões dos compartilhamentos SAMBA possam ser configuradas usando o Windows Explorer a partir de uma estação logada com um usuário proprietário da pasta ou com poderes de Administrador de Domínio.
No smb.conf, os parâmetros mais importantes relativos as ACL são:
map acl inherit = Yes
que permite que o Windows 2000 e superior usem corretamente as ACL e herança de ACL do SAMBA.
E
inherit acl = Yes
e
inherit permissions = Yes
que controlam a herança de ACL e permissões para pastas filho.
O uso conjugado das duas opções é equivalente a "herdar permissões do objeto pai para objetos filho" no Windows Explorer.
Dessa forma as permissões de pastas e arquivos herdam os atributos da pasta pai.
Todas as opções acima são opções definidas globalmente ou por compartilhamento.
O uso de ACL permite aos administradores SAMBA uma grande flexibilidade no gerenciamento de permissões.
Minimiza a necessidade de grupos especiais ou inclusão de operadores a grupos existentes apenas para satisfazer necessidades de segurança. E elimina a necessidade de uso de cláusulas "valid users" e "invalid users" no smb.conf.
É fácil saber o que você configurou no smb.conf. Contudo em trabalhos mais elaborados, precisamos ter controle sobre o estado das opções que estão configuradas como padrão e não expostas explicitamente pelo smb.conf.
Seja para aprendizado ou para varredura de possíveis problemas relativos a configuração do SAMBA, o programa testparm é essencial.
Para criar um smb.conf contendo inclusive as opções não explicitadas no smb.conf original podemos usar o comando:
testparm -s -v > smb.conf.todos.os.parametros
O parâmetro -s faz com que o testparm seja não-interativo ( a etapa do Pressione ENTER não é necessária)
O parâmetro -v faz com que o testparm mostre todos os parâmetros e seus valores, inclusive aqueles não são referenciados explicitamente no smb.conf.
Linux Extended Attributes and ACLs
Novidade: Curso de Servidor Samba - Avançado , que é baseado em experiências reais de implantações, abrangendo desde a criação de servidores simples até servidores distribuídos em vários sítios com replicação de base de usuários.
Saiba mais no site http://www.4linux.com.br/treinamento/samba_425.php ou ligue para (11) 2125-4747
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários