Este artigo é uma continuação do texto que publiquei recentemente sobre servidor de arquivos no Linux — recomendo que o leia para ficar a par do assunto. Aqui, abordo estritamente o processo de configuração e gerenciamento do Samba 4 utilizado como file server.
Reiterando a questão do uso do Samba 4 para tal finalidade, a ferramenta é a única desenvolvida em cooperação com a Microsoft. Isso significa que uma máquina rodando o Windows 10, por exemplo, poderá abrir e enviar arquivos diversos ao servidor sem problemas de compatibilidade.
Por que esse detalhe é tão importante se o foco é o Linux? Porque a ideia de construir um servidor de arquivos é estabelecer uma central de compartilhamento de informações acessível a múltiplos computadores ligados à rede, independentemente do sistema operacional instalado.
Agora que estamos esclarecidos quanto ao objetivo deste conteúdo, vejamos em detalhes, abaixo, os procedimentos necessários para implementar o Samba 4 como servidor de arquivos. Pronto para começar?
Como fazer a preparação para tirar o máximo proveito deste tutorial sobre Samba 4 AD.
É interesse que você tenha um conhecimento prévio de alguns assuntos, como por exemplo:
O que é um servidor de arquivos?
Para isso, veja o artigo abaixo:
Você deve saber como gerenciar pacotes na sua distribuição Linux.
Para isso, irei deixar abaixo dois conteúdos:
- Comando Linux apt-get – Guia Definitivo Para Instalar, Remover e Atualizar Software no LINUX.
- Yum: Tudo Sobre O Gerenciador De Pacotes Das Distribuições Linux Baseadas Em RedHat E CentOS.
Caso você ainda precisa entender os reais motivos de se utilizar o samba 4 como servidores de arquivos, eu sugiro também verificar o conteúdo abaixo:
E por ultimo saber também, como instalar o servidor de arquivos samba, que iremos configurar hoje.
Você pode seguir um dos dois conteúdos baixo:
Este:
Caso você esteja utilizando Debian ou Ubuntu como distribuição Linux do seu servidor.
Se você estiver utilizando o CentOS ou Redhat em seu servidor Linux, veja também o artigo abaixo:
Gerenciando o Samba 4 por meio do terminal
Com o Samba 4 devidamente instalado em sua máquina, abra o terminal do Linux para que utilizemos o comando samba-tool. Mas o que é isso? Nada mais que um excelente utilitário para administrar o Active Directory Domain Controller do Samba (Samba AD DC).
Presumindo que você esteja mais ansioso do que apressado para mexer no servidor, recomendo-lhe consultar os subcomandos antes de prosseguir. Se possível, pesquise no Google sobre o que envolve cada item da lista que aparece ao digitarmos, como root, o comando samba-tool -h.
Dando início ao gerenciamento, que tal criarmos um usuário com permissão para acessar o Active Directory? Abaixo, um exemplo de como seria gerar uma credencial destinada a algum colaborador da empresa.
# samba-tool user add rebeca
Logicamente, o usuário em questão pode ser adicionado com mais algumas informações. Exemplo:
# samba-tool user add rebeca@financeiro --given-name=Rebeca --surname=Aguilar [email protected] –login-shell=/bin/bash
Habilitando, desabilitando e removendo usuários
Supondo que a sua primeira missão ao entrar na empresa é atualizar a lista de usuários habilitados a acessar o Active Directory. Tudo o que você tem em mãos é uma relação de funcionários desligados ou remanejados para outros departamentos. Primeiramente, digite samba-tool user list para consultar os usuários existentes.
Mas o que fazer se o tal zacarias_rh acabou de retornar à empresa e não se lembra da senha de acesso ao servidor de arquivos? Simplesmente, você digitaria:
# samba-tool user setpassword zacarias.rh
Criando grupos de usuários no Samba 4 AD DC
Da mesma maneira que o profissional está sujeito a gerenciar um ambiente preexistente, ele pode ficar encarregado de criar um ambiente do zero. Nesse caso, antes de começar a adicionar pessoas, é importante planejar os grupos aos quais elas pertencerão. Para criar ou deletar um grupo, anote os comandos:
# samba-tool group add -h # samba-tool group add Contabilidade
ou
# samba-tool group delete Contabilidade
Criado o grupo “Contabilidade”, a próxima etapa consiste em criar usuários (no caso a equipe de contadores) a serem vinculados diretamente ao grupo. Vamos a mais um exemplo:
# samba-tool group addmembers Contabilidade rogerio_freitas patricia_rocha aline_bergamo enzo_sakamoto
Errou algum registro ou precisa tirar alguém do grupo? Digite:
# samba-tool group remove members Contabilidade andreia_rizzo
Para conferir a lista de grupos existentes na rede, bem como a relação de usuários correspondentes a cada um deles, digite um dos comandos:
# samba-tool group list # samba-tool group listmembers "Contabilidade"
Modificando requisitos de senhas
Um recurso muito interessante do Samba 4 é o gerenciamento de senhas. Por meio de poucos comandos podemos verificar os critérios vigentes para cadastro de senha e, claro, fazer as alterações de acordo com as políticas e requisitos de segurança. Para consultar, digite: samba-tool domain passwordsettings show.
Note que há diversas opções configuradas, tais como: tamanho mínimo e máximo de senha, modo senha complexa (password complexity), limite de idade da senha em dias etc. A modificação da política é feita da seguinte maneira:
# samba-tool domain passwordsettings set --min-pwd-length=6
O comando acima aplica a regra que obriga os usuários a criarem senhas compostas por pelo menos seis caracteres. Se quiser saber o que mais pode ser alerado, digite: samba-tool domain passwordsettings -h.
Configurando a autenticação do usuário no Samba 4
Agora que os grupos e usuários foram plenamente registrados, significa que o servidor de arquivos está pronto para receber acessos? Bom, estamos quase lá! Acontece que os usuários recém-criados não conseguem fazer o login fora do ambiente do Samba AD DC.
Sendo assim, precisamos configurar o Samba 4 de modo que as conexões sejam aceitas. Como fazer isso? Basta adicionar algumas linhas no arquivo smb.conf usando um editor de texto.
Abaixo, o comando para abertura do arquivo e as linhas que devem estar presentes nele:
$ sudo vim /etc/samba/smb.conf winbind enum users = yes winbind enum groups = yes
Certificando-se de que não há nada de errado com o smb.conf, use o comando testparm:
$ testparm $ sudo systemctl restart samba-ad-dc.service
O que resta para finalizarmos essa etapa? A princípio, atualizar o Linux-PAM (Pluggable Authentication Modules) e, com isso, habilitar os perfis de usuários.
$ sudo pam-auth-update # use a tecla [espaço] para habilitar os perfis e [Tab] para mover as opções
Terminamos? Ainda não! Existe um arquivo de configuraçao chamado /etc/nsswitch.conf e, também, outro documento chamado /etc/pam.d/common-password, os quais devem ser modificados, respectivamente. A começar pelo nsswitch.conf, abra-o com o editor de texto:
$ sudo vi /etc/nsswitch.conf
Com o arquivo aberto, acrescente ao final das linhas passwd e group a palavra winbind, como o exemplo.
passwd: compat winbind group: compat winbind
Da mesma maneira, edite o arquivo /etc/pam.d/common-password, localize a linha abaixo e retire a declaração destacada em negrito:
password [success=1 default=ignore] pam_winbind.so use_authtok try_first_pass sha512
Em tese, essa configuração é suficiente para o propósito da nossa instalação.
Fazendo o login no Linux com credenciais do Active Directory
Vamos testar a autenticação do usuário AD no Linux? Comecemos pelo uso do comando su – seguido do nome de usuário. Exemplo:
# su - nome_do_usuário
Se o procedimento deu certo, você recebeu uma notificação de que um diretório foi criado e tudo mais. Opcionalmente, você pode usar o comando id para obter informações extras, ou digitar exit.
Ao experimentar a navegação com o usuário, perceba que os privilégios são muito restritos — por padrão, eles não são superusuários. Entretanto, nada impede que tal privilégio seja concedido. Digite:
# usermod -aG sudo 'DOMÍNIO\domínio_usuário'
Faça um teste com algum comando sudo e confirme se a ação surtiu efeito. No mais, se todos os usuários do domínio precisam ter privilégios root, use o comando:
%DOMÍNIO\nome_do_domínio\ group ALL=(ALL:ALL) ALL
Como vimos ao longo deste breve tutorial, o Samba 4 tem uma sintaxe simples e fácil de aprender. Mesmo assim, os seus recursos e funcionalidades são vastos, o que faz dele uma ferramenta avançada. Resumindo: o Samba é uma solução robusta e acessível.
Quanto a você, acredita estar preparado para aprofundar-se nos estudos sobre Linux? Confira este conteúdo da página Profissionais Linux e veja como proceder com sua formação.