Ícone do site CooperaTI

Samba 4 com GPO e cliente Windows 8

logo-samba
Segue mais um excelente artigo escrito pelo nosso amigo e profissional de TI Lucas França, os contatos dele estão no final do artigo.
“Samba is the standard Windows interoperability suite of programs for Linux and Unix.” Samba.org
O samba é um software livre, licenciado pela GPL (Generic Public License) criado em 1992, que permite o compartilhamento de arquivos/impressão entre máquinas Windows e Linux, além de outras funções. O Samba permite o compartilhamento de impressão “segura” e algumas de suas características são estabilidade e velocidade para garantir a total interoperabilidade entre os Sistemas Operacionais Unix e Windows.
“Samba é um componente importante para integrar servidores e desktops Linux / Unix em ambientes Active Directory. Ele pode funcionar tanto como um controlador de domínio ou como um membro de domínio regular.”
O Propósito deste artigo não é criar uma discussão (que não terá fim – acredite, tenho experiência com isso =/ ) sobre qual sistema ou software é melhor. Se é Windows (Active Directory) ou Linux (Samba).
O intuito é mostrar uma integração simples de máquinas Windows e o Samba, e também a criação de Unidades organizacionais, como Usuários Grupos e até mesmo GPO ( Políticas de Grupo )
Vamos então para a instalação e configuração do Cenário.

Este cenário, foi utilizando máquinas Linux com as versões CentOS 6.5 e clientes com Windows 8.1
Antes da instalação do samba propriamente dito, instale todas as dependências listadas abaixo:
1. gcc
2. libacl-devel
3. libblkid-devel
4. gnutls-devel
5. readline-devel
6. python-devel
7. gdb
8. pkgconfig
9. krb5-workstation
10. zlib-devel
11. setroubleshoot-server
12. setroubleshoot-plugins
13. policycoreutils-python
14. libsemanage-python
15. setools-libs-python
16. setools-libs popt-devel
17. libpcap-devel
18. sqlite-devel
19. libidn-devel
20. libxml2-devel
21. libacl-devel
22. libsepol-devel
23. libattr-devel
24. keyutils-libs-devel
25. cyrus-sasl-devel
26. cups-devel

Após o Término das dependências instale esses componentes:
OBS: o “perl” é necessário para a compilação do samba.
1. perl
2. wget
3. ntpdate
Após todas as instalações estiverem concluídas, Ajuste a hora e data do servidor:
OBS: Agende o ntpdate, para manter a hora do servidor corretamente (com o crontab por exemplo)
Download do código fonte do samba 4:
Entre dentro do diretório /usr/src e faça o download do pacote do Samba 4 com o comando:
root# wget http://ftp.samba.org/pub/samba/stable/samba-4.0.4.tar.gz
Após a Instalação:
Extraia o arquivo compactado e entre na pasta do samba-4.0.4:
Instalação do samba 4:
Preparando para a compilação:
root# ./configure – -enable-debug – -enable-selftest – -prefix=/opt/samba
O processo de preparação será iniciado:
No final, deverá estar uma tela como esta:
A Compilação será feita com os comandos:
# make
# make install
Obs: O processo pode demorar um pouco, esta é uma boa hora de ir tomar um cafezinho =)
E também “ make install ”
Configurando o samba 4:
Antes de começar a configuração, ajuste o arquivo /etc/resolv.conf apontando para seu  próprio servidor.
O motivo: Samba ( por default ) trabalha com um DNS interno para resolução de nomes e nomes Netbios. Em um próximo artigo, mostrarei como integrar Samba 4 com o Bind 9.
Vamos ajustar :


Entre no diretório principal do Samba: /opt/samba

Dentro deste diretório foi criado uma estrutura com algumas pastas importantes, por exemplo etc, var, sbin e bin. Os arquivos de configuração do samba esta dentro de /opt/samba/etc/smb.conf a deamon principal para executar o samba está em /opt/samba/sbin/samba, a ferramenta principal do samba está em /opt/samba/bin/samba-tools .
Ou seja, o seu diretório de trabalho principal, será o /opt/samba/ .
Criando a Base de Dados:

Com esse comando será preciso informar o nome do domínio, o nome Netbios do domínio, Forma e Tipo de resolução de Nomes DNS e senha do Administrador do Domínio. Veja:

Se tudo estiver correto, o resultado será algo parecido com:

Ou caso queira passar tudo em penas uma linha de comando:
bin/samba-tool domain provision – -realm=82c.bd8.myftpupload.com – -domain=cooperati – -adminpass=senha@123 – – server-role=dc
Iniciando o Samba:

Podemos verificar na imagem acima que não existia nenhum processo samba sendo executado.
Para iniciar o samba digite: /opt/samba/sbin/samba
Após iniciar o samba, verifique novamente os processos:
Verificando se está tudo funcionando:

Ingressando Windows 8 no domínio:
Verifique se há comunicação entre a estação Windows ( ex: 172.23.200.100) e o Servidor Samba ( ex: 172.23.200.5)

Clique com botão direito em “Meu computador” e sem seguida em “Propriedades” e “Nome do computador
Clique em “Alterar” e insira o nome do seu domínio. ( Neste Exemplo : Cooperati )

Será solicitado as Credenciais de Administrador, então entre com a senha do Administrador do samba
(obs: foi a senha gerada com o comando “samba-tool domain provision” )
Neste Exemplo:
Usuário: Administrator
Senha: senha@123

Caso encontre problemas com a senha de Administrator, reinicie o Samba e tente novamente :

Bemvindo ao domínio. !!!! =)

Assim que ingressar, reiniciar o computador e entre como Administrador do Domínio:

No momento da efetuar o logon, selecione “Outro Usuário”:

Veja que o logon será feito no domínio Cooperati, Acesse com a conta “Administrator”:


Instalação das Ferramentas Administrativas:
Acessando como Administrador do Domínio, faça a instalação das Ferramentas administrativas para gerenciar o Samba 4.
O Pacote de instalação – KB2693643 – das ferramentas administrativas da Microsoft poderá ser encontrado no link abaixo:
http://www.microsoft.com/pt-br/download/details.aspx?id=39296


Baixe e instale – Ferramentas Administrativas:

Aceite os Termos da Micro$$oft



Criação de Usuários, Grupos e OU:
Abra as ferramentas Administrativas:

Entre muitas ferramentas encontradas, Abra “Usuários e Computadores do Active Directory”:

Será que esta tela é familiar ?

Daqui em diante o processo e idêntico com as versões do Windows Server
Criação de Unidade Organizacional: [Botão direito] Cooperati.com.br / Novo / OU

Criação de Usuários: [Botão direito] OU / NOVO / usuário


Criação de Grupos :


Criação e Aplicando GPO:



Abra as ferramentas administrativas / Gerenciamento de Política de Grupo
Criando compartilhamentos:
Pronto, O Samba configurado como Controlador de domínio já está funcionando.
Para criar os compartilhamentos edite o arquivo principal do samba:

Crie os seus diretórios:

Reinicie o Samba para aplicar as configurações

Efetuando Teste com o Cliente:


Politicas de grupo funcionando perfeitamente


Considerações Finais
Esse foi um simples artigo para exemplificar a usabilidade do servidor Samba juntamente com suas opções.
Graças ao protocolo LDAP, é possível trabalhar de forma transparente com qualquer servidor Microsoft Active Directory. Novamente venho ressaltar que não tenho a intenção de levantar uma discussão sobre qual ferramenta é a melhor, lembre-se, a melhor é aquela que você vai ganhar mais dinheiro. =)
Finalizando este artigo, Algumas ponderações, entre elas eu destaco a utilização de um DNS externo e o Firewall que deverá passar por ajustes:As seguintes portas precisam ser abertas:

Portas 1024-5000 são para os serviços RPC usadas pelo Samba, enquanto a porta TCP/53, é usado pelo BIND para receber atualizações de registro de DNS.
Adicione estas regras ao seu script de firewall do servidor Samba:
# Portas Samba 4
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 5666 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 22 -j ACCEPT
iptables -A INPUT -m state –state NEW -m udp -p udp -d 192.168.100.14 –dport 53 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 53 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 88 -j ACCEPT
iptables -A INPUT -m state –state NEW -m udp -p udp -d 192.168.100.14 –dport 88 -j ACCEPT
iptables -A INPUT -m state –state NEW -m udp -p udp -d 192.168.100.14 –dport 123 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 135 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 389 -j ACCEPT
iptables -A INPUT -m state –state NEW -m udp -p udp -d 192.168.100.14 –dport 389 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 445 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 464 -j ACCEPT
iptables -A INPUT -m state –state NEW -m udp -p udp -d 192.168.100.14 –dport 464 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 -m multiport –ports 1024:5000 -j ACCEPT
iptables -A INPUT -m state –state NEW -m tcp -p tcp -d 192.168.100.14 –dport 3268 -j ACCEPT
Um abraço, e até próximo artigo.
Espero que gostem do artigo do Lucas França e o incentivem a escrever mais. Comentem, testem e dêem seu feedback.
Os contatos dele são:
Lucas Marcelo França
Graduação: Tecnologia em Redes de Computadores
Contatos: e-mail: lucas_mfranca@hotmail.com / lucas.franca@bsd.com.br / LinkedIN: br.linkedin.com/pub/lucas-frança/6b/583/129/
Instrutor de Curso técnico em Redes – Senac Minas


➤ Conheça nossas soluções em nuvem: https://k2cloud.com.br


 

Sair da versão mobile