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
- Acesse um windows já cadastrado no domínio com o usuário administrator
- 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 - Clique com o botão direito na pasta teste e depois em propriedades
- Selecione a aba segurança e clique em avançado
- Clique em alterar permissões
- Clique em adicionar, digite um nome de um dos usuários criados anteriomente, verifique o nome e clique em ok.
- Marque apenas os itens abaixo. Observe que deixamos de selecionar “Criar pastas/Acrescentas dados”
- Dê Ok em todas as janelas abertas para fechá-las
- 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
Atenção: Essa foi uma “solução” para essa versão do samba que uso nesse momento(20 de ago de 2018). Talvez já tenha sido solucionado esse problema em novas versões. Se a página oficial do samba não recomenda fazer o que farei abaixo é melhor seguirmos essa recomendação!
A solução encontrada foi ser rebelde ao alerta da wiki.samba.org acima e aplicar manualmente essa configuração.
- 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
- 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
Link WhatsApp: https://chat.whatsapp.com/JbxmZmLvIIGCDLjd1VFMUO
Link Telegram: https://t.me/gnulinux_brasil
G+: https://plus.google.com/communities/112884163231229355409
YouTube: https://www.youtube.com/channel/UCwyFWDqE0v7SwpZenjmzxYQ