Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Semana 4Linux - Dicas SAMBA

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--

ACL no smb.conf

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.

smb.conf sem supresas

É 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.

Referências

Linux Extended Attributes and ACLs


Você quer expandir o Windows para um mundo mais amplo?

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

Veja a relação completa dos artigos de Francisco Kem-iti Saito

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1440 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Objective-C Fundamental