Manual SAMBA4 PDC com servidor de Arquivos
Versões de sistemas utilizados:
Samba: 4.7.4
Debian: 9.3.0
Ip: [Link] #deve ser utilizado ip estático
Hostname: ad01
1º PASSO – Configuração do arquivo hosts
Antes de mais nada, configure o arquivo hosts corretamente antes de instalar o samba, pois
isto é crucial para o correto funcionamento do seu controlador de domínio.
Atenção, pois aqui deverá ser definido o nome do seu domínio, ele não poderá ser alterado
depois. Lembre-se de utilizar ip estático.
Abra o arquivo /etc/hosts, utilize um editor de texto de sua preferência. O original estará
conforme imagem logo abaixo.
Aqui deverá ser informado o seu domino, altere conforme imagem a seguir.
Repare que na primeira linha foi adicionado “[Link]”, na segunda linha, o
“ad01” se refere ao hostname da sua máquina, caso não lembre, basta executar o comando
“hostname” sem as aspas no seu terminal, o domínio fica a seu critério, como se trata de rede
interna pode ser adicionado qualquer nome, o ip deve ser o endereço estático do seu servidor,
no caso deste laboratório de testes, o endereço é “[Link]”.
2º PASSO – instalação das dependências
Execute o seguinte comando para instalar as dependências do samba, sem todas elas, pode
não funcionar corretamente.
apt-get install acl attr autoconf bison build-essential debhelper dnsutils docbook-xml docbook-
xsl flex gdb krb5-user libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev libcap-dev
libcups2-dev libgnutls28-dev libjson-perl libldap2-dev libncurses5-dev libpam0g-dev libparse-
yapp-perl libpopt-dev libreadline-dev perl perl-modules-5.24 pkg-config python-all-dev
python-dev python-dnspython python-crypto xsltproc zlib1g-dev rcconf xattr libgpgme11-dev
python-gpgme python-m2crypto libsystemd-dev
Quando aparecer a tela de configuração do kerberos, como na imagem logo abaixo, não
precisa digitar nada pois o arquivo conf do kerberos a ser utilizado, será gerado pelo samba lá
na frente, agora basta pressionar enter e prosseguir com a instalação das dependências.
Após terminar as instalações reinicie o sistema com o comando:
reboot
3º Passo – Download e instalação do Samba
O arquivo pode ser obtido no site oficial: [Link]
Neste caso iremos utilizar o comando wget para baixar diretamente no nosso servidor via
terminal, pois não utilizaremos interface gráfica em nosso servidor. Para obter o link correto
de download, basta acessar o site acima, clicar com o botão esquerdo do mouse sobre a
versão de download e copiar o link, conforme imagem a seguir.
Pode ocorrer erro por causa do certificado do site, neste caso adicione o comando “--no-
check-certificate” sem aspas à frente do wget, conforme comado abaixo.
wget --no-check-certificate [Link]
[Link]
Depois de baixar, extraia o diretório com o seguinte comando,
tar -zxvf [Link]
No diretório extraído, existe o arquivo “configure”, este arquivo serve para verificar se o
sistema atende todas as exigências necessárias para o funcionamento do samba.
Para fazer a verificação, entre no diretório que você acabou de extrair e execute o seguinte
comando:
./configure
Após finalizado, se estiver tudo correto, deverá aparecer a seguinte mensagem.
Caso ocorra algum erro, pode ser que faltou instalar alguma das dependências do início deste
tutorial ou a versões utilizadas do sistema ou do samba sejam diferentes das utilizadas neste
material de estudo, estas informações podem ser verificadas nas primeiras linhas deste
tutorial.
Se ocorreu tudo certo, vamos compilar o samba para depois instalar.
Obs.: os próximos procedimentos, podem ser muito demorados, tenha paciência.
Agora execute o seguinte comando para compilar o programa.
make
Depois de compilado, execute a instalação com o seguinte comando:
make install
O samba é instalado no seguinte diretório.
/usr/local/samba/
4º passo – Configurações extras para facilitar gerenciamento do Samba
Agora iremos executar alguns procedimentos para facilitar a gestão dos processos. Os
executáveis do sistema estão na pasta bin e sbin do diretório onde o samba foi instalado,
iremos adicionar mais dois comandos muito uteis e depois adicionar todos, nos diretórios de
executáveis do sistema operacional através de atalhos permanentes.
Vamos criar o primeiro comando que será muito útil para recarregar as alterações feitas no
arquivos [Link].
Com o comando nano crie um arquivo de texto com o nome samba_reloadsmb dentro do
diretório /sbin do samba.
nano /usr/local/samba/sbin/samba_reloadsmb
Dentro do arquivo adicione o comando:
smbcontrol all reload-config
Ficando assim, após salve e feche.
Adicione as permissões de execução.
chmod 750 /usr/local/samba/sbin/samba_reloadsmb
Outro executável importante é o de backup do samba, que não é adicionado na instalação, ele
se encontra no diretório do download para instalação, então volte neste diretório com nome
samba-4.7.4, vá no caminho ... samba-4.7.4/source4/scripting/bin/samba_backup. Copie este
arquivo para o diretório onde foi instalado o samba.
cp /home/usuario/samba-4.7.4/source4/scripting/bin/samba_backup /usr/local/samba/sbin/
Agora vamos criar atalhos para os executáveis no sistema operacional,
Para isto, execute os seguintes comandos:
ln /usr/local/samba/bin/* /bin
ln /usr/local/samba/sbin/* /sbin
Agora para executar algum processo do samba, basta digitar o comando no terminal sem
precisar especificar o diretório em que ele esse encontra.
Outro procedimento importante é criar o script para iniciar, parar e reiniciar o programa.
No diretório /etc/init.d, crie um arquivo de texto com o nome “samba” e adicione as seguintes
informações:
#!/bin/sh
# chkconfig: 345 99 10
# description: samba
start (){
echo "Iniciando o Samba"
/usr/local/samba/sbin/samba >> /dev/null
stop (){
echo "Finalizando o Samba"
pkill -9 samba >> /dev/null
case "$1" in
start) start
;;
stop) stop
;;
*) echo "Uso: samba (startstop)"
;;
esac
Após salvar e fechar o arquivo, dê permissão de execução no script.
chmod a+x /etc/init.d/samba
Para execução automática do Samba na inicialização do sistema operacional, execute o
comando:
rcconf
Deverá aparecer a seguinte janela:
Marque a opção samba pressionando a tecla space e finalize pressionando enter. Agora
sempre que seu servidor for reiniciado, o samba será executado automaticamente.
5º passo – Configurando o samba como Controlador de Domínio
Finalizadas as modificações, vamos configurar o samba como controlador de domínio.
Remova os arquivos [Link] e [Link]
rm /usr/local/samba/etc/samba/[Link]
rm /etc/[Link]
Eles serão substituídos após a criação do AD no samba.
Altere seu domino e dns no arquivo resolv .conf.
nano /etc/[Link]
Seu arquivo deverá ficar da seguinte forma:
Veja que o dns é o ip do próprio servidor. Não se preocupe, mais à frente o dns funcionará,
pois o samba fara o dns forwarder.
Agora vamos provisionar o samba para ser o controlador de domínio.
Execute o comando:
samba-tool domain provision
Como o domínio já foi definido no [Link] e no arquivo hosts, ele já estará predefinido,
basta verificar se está correto e pressionar enter.
Iremos utilizar o dns interno do samba, agora lembra do dns no [Link]? por padrão o dns
backend estará predefinido com o dns do [Link] em que inserimos o ip do próprio
servidor, então deveremos alterá-lo, pode ser o famoso [Link] do Google ou outro qualquer
de sua preferência como o do seu provedor de internet ou firewall, fica a seu critério.
O dns forwarder poderá ser alterado depois, basta ir abrir o seguinte arquivo e susbistituir o ip
do dns forwader pelo dns da sua rede.
nano /usr/local/samba/etc/[Link]
Por último, precisará definir a senha do usuário administrator do AD, preste atenção, pois a
senha deve conter letras maiúsculas, minúsculas e números, se não atender a estes
requisitos, ocorrerá erro na criação do AD.
Se tudo der certo deverá aparecer os dados do seu domínio, conforme imagem abaixo.
6º Passo – Configurando o Kerberos
Este passo é bem simples.
Após o provisionamento, o samba gerara o arquivo de configuração do kerberos no seu
diretório de instalação, basta copia-lo para o diretório /etc utilizando o seguinte comando.
cp /usr/local/samba/private/[Link] /etc
O arquivo /etc/[Link], deverá estar assim:
Vamos agora reinicializar o sistema para ver se irá inicializar tudo automaticamente.
Execute o comando reboot
7º Passo – Efetuando testes
Quando iniciar o sistema novamente, execute o comando:
smbclient -L localhost -U%
Deverá retornar algo assim:
Caso isso não aconteça, verifique se o processo do samba está em execução ou tente inicia-lo
manualmente com os comandos samba ou /etc/init.d/samba ou
/usr/local/samba/sbin/samba. Se ainda não der certo, volte e verifique se efetuou todos os
passos acima corretamente, pois já deveria estar funcionando.
Agora vamos verificar se o kerberos está funcionando corretamente, execute os seguintes
comandos:
kinit administrator
Será solicitado a senha do seu ad, lembra daquela criada com letra maiúsculas, minúsculas e
números no provisionamento do samba.
Logo após digite:
klist
Deverá carregar conforme as informações a seguir.
$ klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@[Link]
Valid starting Expires Service principal
01.11.2016 [Link] 12.11.2016 [Link] krbtgt/ [Link]@[Link]
renew until 02.11.2016 [Link]
Agora já é possível ingressar suas máquinas no domínio utilizando o login administrator e a
senha criada no provisionamento.
Para verificar se a sua configuração de DNS AD funciona corretamente, consulte alguns registros
DNS:
Registro ldap
host -t SRV _ldap._tcp.[Link].
Retorna
_ldap._tcp. [Link] has SRV record 0 100 389 [Link].
Registro Kerberos
host -t SRV _kerberos._udp.[Link].
Retorna
_kerberos._udp.[Link] has SRV record 0 100 88 dc1. [Link].
Registro A
host -t SRV _kerberos._udp.[Link].
Retorna
[Link] has address [Link]
Montando o servidor de arquivos
Eu recomento criar os diretórios compartilhados em outro hd ou outra partição, neste teste
estou utilizando uma máquina virtual, assim dá para escolher o tamanho do disco rígido.
Em um servidor físico com hd grande prefiro criar uma partição para não desperdiçar espaço,
pois o sistema Linux ocupa muito pouco espaço.
1º Passo – montando a partição no Linux
Este 1º passo precisa ser seguido somente se for utilizado outra partição para compartilhar os
arquivos.
O local onde as pastas a serem compartilhadas ficarão, fica a sua escolha, podem ficar em uma
partição, outro hd ou na partição do próprio sistema.
No meu caso vai ficar em outro hd da minha máquina virtual que foi particionado na instalação
do Debian.
Para listar as partições da sua máquina utilize o comando
fdisk -l
No meu caso tenho dois hds
sda com as partições sda1, sda2, sda5 e sda6. (Sistema Linux)
sdb com a partição sdb1. (Partição para armazenamento de arquivos compartilhados)
A partição que irei utilizar para compartilhar arquivos na rede é a sdb1 do disco sdb.
Primeiro eu vou formatar a partição com o comando:
mkfs -t ext4 /dev/sdb1
Agora crie o diretório para disco e monte a partição.
mkdir /mnt/arquivos
mount /dev/sdb1 /mnt/arquivos
Feito isto, dentro do diretório arquivos pode ser criado as pastas que serão compartilhadas
com exemplo: pasta_financeiro, pasta_administrativo, etc...
Depois de criar as pastas, vamos compartilhá-las na rede.
2º Passo – Compartilhando os diretórios
Se não foi utilizada outra partição, basta criar os diretórios compartilhados em qualquer outro
diretório de sua preferência. E seguir os passos abaixo.
Agora é bem simples, basta adicionar os caminhos dos diretórios que foram criados no arquivo
[Link]. No meu caso estão na pasta /mnt/arquivos.
nano /usr/local/samba/etc/[Link]
Depois de # Global parameters, adicione as seguintes linhas referentes ao caminho de cada
diretório que foi criado para ser compartilhada.
Obs.: Se tiver dez diretórios compartilhados para cada setor da empresa, deverá ser
adicionado dez comandos como o abaixo mudando apenas os nomes dos diretórios.
[Pasta_Administrativo]
path = /mnt/arquivos/administrativo
read only = no
Feito isto, execute o camando
Samba_reloadsmb
Lembra que criamos o comando acima lá no 4º passo para facilitar a execução.
Pronto, aqui seus servidores de AD e arquivos estão finalizados.
Instalação do RSAT
RSAT ( Microsoft Remote Server Administration Tools), é uma ferramenta para gerenciar o
sistema Active Directory (AD). Através dele é possível gerenciar o AD do seu Samba com a
mesma interface gráfica do Windows Server através de qualquer máquina com Windows no
domínio.
Obs.: Antes de instalar, a máquina utilizada deve estar inserida no domínio criado e logada
com o usuário administrator do seu AD
Para instala-lo efetue o download compatível com a versão do seu Windows.
Windows 10: [Link]
Windows 8.1: [Link]
Windows 8: [Link]
Windows 7: [Link]
Windows Vista: [Link]
Após o download execute o instalador baixado e siga as instruções, todos os recursos são
instalados automaticamente.
Após a instalação, no Windows abra Painel de Controle>Programas e Recursos>ativar ou
desativar recursos do Windows
Irá abrir esta tela:
Na janela abaixo é preciso ir na opção “Ferramentas de Administração de Servidor Remoto” e
marcar as opções conforme imagem abaixo, estes são todos os recursos necessário para
gerenciar o seu AD do Samba, se necessário pode adicionar as outras opções conforme suas
necessidades.
Após finalizar, você deve estar logado com o usuário administrator do seu domínio, as
ferramentas administrativas do AD aparecerão no menu iniciar, conforme imagem a seguir.
Para efetuar as configurações de permissão de acesso as pastas comprtilhadas, acesse a
ferramenta Gerenciamento do computador, ela carrega as configurações da sua máquina local,
para carregar as configurações do servidor do AD siga os seguintes passos, com o Gerenciador
de Computador aberto, clique em ação>conectar a outro computador.
Abrirá a janela abaixo, no espaço “outro computador” deverá ser inserido o ip do seu servidor
AD.
Após o carregamento vá em compartilhamentos.
Na lista que mostra os seus compartilhamentos, selecione a pasta desejada, clique com o
botão direito do mouse e vá em propriedades. Nas abas Permissões de compartilhamento e
segurança, adicione as devidas permissões conforme necessidades.
Agora finalizamos nosso AD com Samba 4 no Linux.!!!
Sucesso!!!