Páginas

Oito anos de testes

shyrul@debian:~$ A grande idéia de postar tudo aqui, veio do simples fato de que depois de 8 anos de pesquisas, testes e muitos clientes satisfeitos, eu nunca tinha juntado todo o material que consegui com o decorrer do tempo, em um só lugar. A gente ai ficando velho e acaba esquecendo de coisas básicas. E também gostaria de deixar minha contribuição para todos.

.

segunda-feira, 30 de maio de 2011

Instalando e configurando Samba e Swat no FreeBSD


O Samba (www.samba.org) é o serviço que promove a integração entre sistemas Unix e Windows em uma rede. Trabalha com o protocolo SMB, o qual o Windows utiliza nativamente, possibilitando desta forma que tenhamos um ambiente com ambas as plataformas interagindo. O Samba foi originalmente criado por Andrew Tridgell, em 1991. Nosso foco será utilizar o Samba como controlador de domínio, servidor de arquivos e autenticação de clientes Windows.
SMB significa Server Message Block, e é o protocolo utilizado pelos sistemas Windows para comunicação e compartilhamento de recursos via rede. O Samba utiliza SMB sobre TCP para compartilhamento de arquivos e UDP para browsing. A Microsoft utiliza no Windows 2000 em diante uma versão melhorada do protocolo SMB, chamada CIFS - Common Internet File System, que também é suportada pelo Samba.

Faça o download do source da última versão estável do Samba, através de algum dos mirrors listados no site. O arquivo tem o nome samba-latest.tar.gz. Pode-se fazer o download a partir dehttp://us1.samba.org/samba/ftp/samba-latest.tar.gz. A versão atual é 3.0.1. Descompacte o arquivo no /tmp, será criado o diretório samba-3.0.1, acesse-o. Execute os seguintes comandos:
# cd source
# ./configure
# make
# make install
O Samba será instalado em /usr/local/samba. Temos apenas dois daemons, o smbd e o nmbd, que ficam em /usr/local/samba/sbin. O smbd é o responsável por controlar os compartilhamentos de arquivos assim como autenticação e autorização dos clientes. O nmbd auxilia com o browsing da rede e trabalha com NetBIOS (Network Basic Input/Output System) e WINS.
Como os executáveis do Samba são instalados em um diretório diferente do padrão, deve ser ajustado o valor da variável PATH. Para isso, edite o arquivo /root/.profile ou /root/.bash_profile e insira no final da linha iniciada por "PATH" o seguinte valor:
:/usr/local/samba/bin:/usr/local/samba/sbin
Junto com o Samba é instalado o SWAT, que significa Samba Web Administration Tool. Como o próprio nome diz, é uma ferramenta para configurar o Samba a partir de qualquer navegador. Para habilitar esta ferramenta, basta inserir ou ajustar a seguinte linha no arquivo /etc/inetd.conf:
swat stream tcp nowait/400 root /usr/local/samba/sbin/swat swat
Após isso, reinicie o inetd, através do comando "killall -HUP inetd". O SWAT pode ser acessado a partir do endereço http://servidor:901, então entre com o login e senha do root. Se o SWAT não for utilizado é recomendado deixá-lo desativado, para evitar qualquer problema se segurança.
As portas utilizadas pelo Samba são:
netbios-ns 137/udp # NETBIOS Name Service
netbios-dgm 138/udp # NETBIOS Datagram Service
netbios-ssn 139/tcp # NETBIOS Session Service
microsoft-ds 445/tcp # Microsoft-DS
O arquivo de configuração do Samba chama-se smb.conf, e fica no diretório /usr/local/samba/lib. Possui muitas opções, possibilitando inúmeras configurações diferentes, cada uma atendendo ao propósito do servidor que está sendo configurado. Todas opções e variáveis são bem explicadas na sua man page, acessível pelo comando "man smb.conf". Segue abaixo um arquivo exemplo utilizado nesta instalação, adapte o que for necessário:
-------------------- Arquivo smb.conf --------------------# smb.conf
# Contexto geral.
[global]
# Nome NetBIOS do servidor.
netbios name = SERVTESTE
# Nome do domínio.
workgroup = TESTE
# Descricao do servidor.
server string = Servidor de Arquivos
# Interfaces de rede.
interfaces = 192.168.0.10, 127.0.0.1
# Limita o Samba a utilizar somente as interfaces mencionadas
# acima.
bind interfaces only = yes
# Hosts permitidos a conectar.
hosts allow = 192.168.0.0/255.255.0.0, 127.
# Opcoes de socket, para ajuste das conexoes em camada de rede.
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE
# Nivel de "auto-propaganda" na eleicao de controlador
# de dominio.
os level = 33
# O servidor eh o preferido na eleicao para controlador
# de dominio.
preferred master = Yes
# Permitir logon no domínio de maqs Win9x.
domain logons = Yes
# Diretorio home que sera mapeado quando alguma maq. logar
# no dominio. O valor da variavel %U sera o nome de usuario
# da sessao.
logon home = \\servteste\%U
# Unidade a qual mapear o diretorio home. Usado apenas em WinNT.
logon drive = L:
# Local onde os perfis ambulantes sao armazenados. Se deixado
# em branco ira desabilitar os perfis. Podem ser utilizadas
# variaveis.
logon path =
# Script executado quando o usuario logar.
logon script = %U.bat
# Usuario(s) administrador do dominio.
admin users = root

# Local do arquivo de senhas do Samba.
smb passwd file = /usr/local/samba/private/smbpasswd
# Quando trocar a senha do Samba trocar a do sistema tambem.
unix password sync = Yes
# Programa utilizado para troca a senha do sistema.
passwd program = /usr/bin/passwd %u
# Dialogo para a troca de senha do sistema. A variavel %n sera
# a nova senha.
passwd chat = *New*password* %n\n *Retype*password* %n\n *done*
# Utilizar senhas encriptadas no login.
encrypt passwords = Yes
# Nivel de log (0-10). Quanto maior mais informacoes
# serao logadas.
log level = 1
# Tamanho maximo em KB de cada arquivo de log.
max log size = 2048
# Arquivo de log. A variavel %m sera o nome da maq. cliente.
log file = /var/log/samba/log.%m

# Funcionar como servidor de hora para clientes Windows.
time server = Yes

# Mascara da permissoes dos arquivos criados pelos clientes.
create mask = 0660
# Mascara das permissoes dos diretorios criados pelos clientes.
directory mask = 0770
# Arquivos ou diretorios ignorados nos compartilhamentos.
veto files = /mail/
# Pagina de codigos utilizada pelo servidor.
unix charset = CP850
# Pagina de codigos utilizada nas mensagens do Samba.
display charset = CP850
# Compartilhamento dos diretorios home.
[homes]
# Comentario, descricao.
comment = Diretorio Pessoal
# Ajuste "No" para permitir gravacao.
read only = No
# Nao ira ser anunciado no dominio.
browseable = No
# Compartilhamento Netlogon
[netlogon]
# Caminho no servidor.
path = /usr/local/samba/lib/netlogon
# Permite usuarios anonimos.
guest ok = Yes
browseable = No
# Compartilhamento utilizado, caso habilitado acima,
# para os perfis ambulantes.
[profiles]
# A variavel %H sera o diretorio home do usuario.
path = /%H/Perfil
read only = No
guest ok = Yes
browseable = No
# Compartilhamento do CD-ROM do servidor.
[cdrom]
comment = Drive CD-ROM
path = /cdrom
guest ok = Yes
-------------------- Fim do arquivo smb.conf --------------------
De acordo com esta configuração, os logs serão armazenados em /var/log/samba, então este diretório deverá ser criado manualmente. O arquivo de log do smbd será log.smbd, o do nmbd será log.nmbd e para cada máquina cliente será criado um arquivo no formato log.hostname. O tamanho máximo destes arquivos será 2 MB, quando este limite for excedido o arquivo atual será renomeado com a extensão ".old", e será criado um novo arquivo. Se já houver outro ".old", este será excluído.
Com esta configuração, o nosso servidor será o PDC (Primary Domain Controller) para o domínio TESTE. Para cada máquina ou usuário que irá participar deste domínio, deve ser cadastrada uma conta no sistema e também uma conta no Samba.
Adicione um grupo para as contas de máquinas no sistema, com o nome "maquinas", ou qualquer outro:
# pw group add maquinas -g 160
Para adicionar as contas de máquinas, utilize os seguintes comandos:
# pw user add maquina1$ -c "Conta de Maquina" -d "/nonexistent" -s "/sbin/nologin" -g 160
# smbpasswd -a -m maquina1
Note que as contas de máquinas no sistema devem ser cadastradas com o hostname da máquina cliente seguido de cifrão ($). O parâmetro "-a", no smbpasswd, especifica que estamos fazendo um novo cadastro. Já o "-m" indica que estamos cadastrando uma conta de máquina.

Os cadastros de usuários são feitos da mesma forma como sempre, no sistema. Apenas deve-se cadastrar a senha de usuário do domínio com o comando smbpasswd, da seguinte forma:
# smbpasswd -a usuario1
Insira a senha do usuário, que será posteriormente utilizada para login nas máquinas clientes.
Para inserir as máquinas clientes no domínio, deve-se proceder da mesma forma como se fosse um PDC Windows. Quando solicitada uma conta de administração do domínio, deve-se inserir login e senha do root. Há apenas uma ressalva no Windows XP, deve-se editar o registro e alterar o valor de duas chaves, ou apenas executar o arquivo abaixo:
-------------------- Arquivo winxp.reg --------------------Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters] 
"requiresignorseal"=dword:00000000
"signsecurechannel"=dword:00000000

-------------------- Fim do arquivo winxp.reg --------------------


Nenhum comentário:

Postar um comentário