Samba: Compartilhando Pastas usando ACL

Esse post é continuação de outros que podem ser acessados clicando na categoria samba deste site

 

ACL

 

  • ACL significa Access Control List(ou Lista de Controle de Acesso) nos possibilita aplicar permissões de forma mais detalhada ou mais granulada.
  • Linux só trabalha com três tipos de permissões para acesso: leitura(r), escrita(w) e execução(x). Para anularmos essa restrição, devemos usar, no samba, o Objeto VFS(Virtual File System ou Sistema de Arquivo Virtual).
  • Para termos uma noção da restrição de permissões se atente para isso: se tentar aplicar permissões de forma que um usuário consiga criar arquivos mas não tenha permissão para criar pastas certamente você não conseguirá sem o uso de permissões granulares

 

Realizando  Teste

 

  1. Acesse um  windows já cadastrado no domínio com o usuário administrator
  2.  Abra o windows explorer e insira o ip do nosso servidor para acessarmos a pasta compartilhada anteriormente em Linux: Instalando SAMBA para SERVIDOR.  
    Abaixo termos o diretório teste

  3. Clique com o botão direito na pasta teste e depois em propriedades

  4.  Selecione a aba segurança e clique em avançado

     

     

  5.  Clique em alterar permissões

  6. Clique em adicionar, digite um nome de um dos usuários criados anteriomente, verifique o nome e clique em ok.

  7. Marque apenas os itens abaixo. Observe que deixamos de selecionar “Criar pastas/Acrescentas dados

  8.  Dê Ok em todas as janelas  abertas para fechá-las
  9. Retorne novamente e veja o que aconteceu. O usuário ficou com todas as permissões habilitadas. Certamente o que não desejamos. Uma ação totalmente contrária à que praticamos.

    Isso acontece mesmo.
    Ainda que o site oficial do samba, nos alerte que o suporte estendido à ACL já vem por padrão(default) e que não devemos aplicar manualmente essa configuração.

A Solução

A solução encontrada foi ser  rebelde ao alerta da wiki.samba.org acima e aplicar manualmente essa configuração.

  1. Logado em seu servidor de arquivos, edite o arquivo /usr/local/samba/etc/smb.conf
    [elder@serverTeste02 ~]$ sudo vim /usr/local/samba/etc/smb.conf
  2. Dentro da seção [Global] insira os itens em vermelho abaixo
[global]
        dns forwarder = 8.8.8.8
        netbios name = SERVERTESTE
        realm = EMPRESA100.LOCAL
        server role = active directory domain controller
        workgroup = EMPRESA100
        vfs objects = acl_xattr
        map acl inherit = yes
        store dos attributes = yes

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/empresa100.local/scripts
        read only = No

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No
[teste]
        path =  /work/teste
        read only =  No

 

Ao invés de aplicar os três itens acima dentro da seção [Global]  pode colocá-los dentro do compartilhamento apenas. Conforme abaixo:

[teste]
        path =  /work/teste
        read only =  No
        vfs objects = acl_xattr 
        map acl inherit = yes 
        store dos attributes = yes

Feitas as alterações, reinicie as configurações do smb.conf

elder@serverTeste02 ~]$ sudo /usr/local/samba/bin/smbcontrol all reload-config

Se ao reiniciar  o smb.conf não der resultado, reinicie o samba

[elder@serverTeste02 ~]$ cd /usr/local/samba/sbin/
[elder@serverTeste02 sbin]$ sudo killall samba
[elder@serverTeste02 sbin]$ sudo  ./samba

 

Siga-nos em nossas redes:

Link Facebook: https://www.facebook.com/gnulinuxbr

 

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *