Fala pessoal…
Começamos o processo de migração para o Windows 7 aqui na empresa, irei descrever os passos que utilizei para conseguir fazer o samba suportar essa nova versão do Windows.
Meu ambiente:
Servidor atual: Debian 4.0 com samba rodando em PDC, autenticando vários usuários (sim, eu sei, essa versão está muito velha :p)
Servidor Novo: Debian 5.0.5
Fase 1: Levantamento de dados do servidor antigo
Além dos dados, é necessário migrar os usuários e os grupos
Edite o arquivo /etc/passwd e copie todos os usuários que tem ID maior que 1000 (terceira coluna)
Edite o arquivo /etc/passwd e copie todos os usuários que tem ID maior que 1000 (terceira coluna)
Você pode fazer da seguinte forma:
grep 1[0-9][0-9][0-9][0-9] /etc/passwd
Edite o arquivo /etc/shadow e copie todos os usuários que estavam no passwd que vc retirou
Edite o arquivo /etc/group e copie os grupos que vc criou, os demais podem ser ignorados
Copiar o arquivo /etc/samba/smbpasswd (se existir)
É claro que vc vai transportar isso para o novo servidor… nem sei pq disse isso :p
Outra coisa super importante, é obter o SID do domínio que está rodando na máquina antiga, sem ele, ninguem irá conseguir logar no domínio sem que você retire todas as estações do domínio antigo e os re-insira, definitivamente isso não é uma boa opção.
net getlocalsid > localsid net getdomainsid > domainsid
Dica: Sempre que for instalar um novo PDC, gere esses SID e grave em um arquivo e faça backup, no caso de uma falha, o restore da máquina é rápido.
Fase 2: Instalação do Samba
Para poder autenticar máquinas com o Windows 7, a versão do samba necessária é a 3.3 ou superior. Como no Debian, a versão dos repositórios é a 3.2, iremos instalar a versão do projeto Debian Backports.
Edite o seu /etc/apt/sources.list e insira a seguinte linha:
Edite o seu /etc/apt/sources.list e insira a seguinte linha:
deb http://backports.debian.org/debian-backports lenny-backports main
depois
aptitude update aptitude -t lenny-backports install samba
Feito, samba instalado!
Fase 3: Configuração do Samba
A minha configuração antiga, quando aplicada ao samba 3.4, apresentava alguns erros quando era executado a verificação da configuração utilizando o testparam. Dando uma pesquisada no site do samba, encontrei uma configuração básica, que fucnionou corretamente para mim. Veja:
[global] workgroup = DOMÍNIO #aqui você especifica o nome do domínio netbios name = MÁQUINA # esse é o nome da máquina passdb backend = smbpasswd #formato de armazenamento da senha, pode-se especificar como tdbsam printcap name = cups add user script = /usr/sbin/useradd -m %u delete user script = /usr/sbin/userdel -r %u add group script = /usr/sbin/groupadd %g delete group script = /usr/sbin/groupdel %g add user to group script = /usr/sbin/groupmod -A %u %g delete user from group script = /usr/sbin/groupmod -R %u %g add machine script = /usr/sbin/addmachine %u #ATENÇÃO NESSA PARTE, abaixo irei explicar do que se trata. unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .logon script = todos.bat unix charset = iso-8859-1 # Setei essa opção, pois o meu samba é muito antigo (veio de várias distro antes) #e os caracteres estao todos em iso display charset = cp850 # mesma coisa, para manter a compatibilidade de acentos. log file = /var/log/samba/log.%mlogon path = logon drive = logon home = domain logons = Yes os level = 35 preferred master = Yes domain master = Yes idmap uid = 15000-20000 idmap gid = 15000-20000 printing = cups client NTLMv2 auth = Yes[netlogon] comment = Network Logon Service path = /home/netlogon guest ok = yes writable = no write list = @domadmin browseable = no
Onde pedi atenção, a explicação para aquele script addmachine é a seguinte: O Windows 7, espera nome de máquinas em maiúsculo, então foi necessário essa “gambiarra” para que eu não me deparasse com erros de “Falha na relação de confiança com o domínio” e outros erros estranhos, como esse no log: netlogon_creds_server_check failed
Crie o seguinte arquivo /usr/sbin/addmachine
#!/bin/bashID_GRUPO_MAQUINAS=1086 NOME_MAIUSCULO=$(echo $1|tr [a-z] [A-Z]) /usr/sbin/useradd -s /bin/false -g $ID_GRUPO_MAQUINAS -d /var/lib/nobody $NOME_MAIUSCULO
Feito isso, dê permissão de execução:
chmod +x /usr/sbin/addmachine
Observação: na váriavel ID_GRUPO_MAQUINAS, deve ser setado o id do grupo que irá armazenar todas as máquinas cadastradas, iremos criar esse grupo mais para frente. 1086, é o meu número id do grupo referente. Você precisa setar o com o SEU ID, veremos isso mais a frente.
Agora é hora de setar o SID do domínio. Se o seu samba é uma instalação nova, ignore esses passos.
/etc/init.d/samba restartnet setlocalsid$(cut -d: -f2 /ARQUIVO/COM/O/LOCALSID) #ou você pode copiar e colar, assim é mais simples e rápido :p) net setdomainsid$(cut -d: -f2 /ARQUIVO/COM/O/DOMAINSID)/etc/init.d/samba restart
Feito! seu samba está com o id do domínio antigo. Máquinas XP já podem fazer o logon sem maiores problemas.
Fase 4: Criação e Mapeamento de grupos
Para o Windows 7 funcionar bem junto com o samba, é necessário um mapeamento dos grupos unix com o samba. Ele espera o um grupo com um RID específico, alguns grupos são mandatórios não precisa ninguém fazendo parte deles.
Segue uma lista dos grupos, em destaque os mandatórios
Well-Known Entity | RID | Type | Essential |
---|---|---|---|
Domain Administrator | 500 | User | No |
Domain Guest | 501 | User | No |
Domain KRBTGT | 502 | User | No |
Domain Admins | 512 | Group | Yes |
Domain Users | 513 | Group | Yes |
Domain Guests | 514 | Group | Yes |
Domain Computers | 515 | Group | No |
Domain Controllers | 516 | Group | No |
Domain Certificate Admins | 517 | Group | No |
Domain Schema Admins | 518 | Group | No |
Domain Enterprise Admins | 519 | Group | No |
Domain Policy Admins | 520 | Group | No |
Builtin Admins | 544 | Alias | No |
Builtin users | 545 | Alias | No |
Builtin Guests | 546 | Alias | No |
Builtin Power Users | 547 | Alias | No |
Builtin Account Operators | 548 | Alias | No |
Builtin System Operators | 549 | Alias | No |
Builtin Print Operators | 550 | Alias | No |
Builtin Backup Operators | 551 | Alias | No |
Builtin Replicator | 552 | Alias | No |
Builtin RAS Servers | 553 | Alias | No |
O grupo “Domain Computers” não está marcado como mandatório, porém iremos cria-lo para armazenar todos os computadores que serão cadastrados no domínio.
Criando os grupos necessários:
Vamos adotar o prefixo “dom” nos grupos relacionados a administração do domínio.
groupadd domadmins groupadd domusers groupadd domguests groupadd domcomputers
Com os grupos criados, vamos associa-los ao samba:
net groupmap add ntgroup="Domain Admins" unixgroup=domadmins rid=512 type=d net groupmap add ntgroup="Domain Users" unixgroup=domusers rid=513 type=d net groupmap add ntgroup="Domain Guests" unixgroup=domusers rid=514 type=d net groupmap add ntgroup="Domain Computeres" unixgroup=domusers rid=515 type=d
O type=d, significa que o grupo está sendo associado a um domínio, existe também a opção de adicionar a um grupo local.
Você pode e deve fazer isso para todos os seus grupos, quando a aba de permissão foi selecionada no windows, os nomes de grupos que forem mapeados por aqui aparecerão de forma correta lá.
Para que todas as configurações fiquem corretas, e os usuário quando criados sejam adicionados automaticamente aos respectivos grupos, faça o seguinte: edite o arquivo adduser.conf
No final do arquivo, você encontrará as opções EXTRA_GROUPS E ADD_EXTRA_GROUPS, descomente e insira os seguinte:
EXTRA_GROUPS="domusers" ADD_EXTRA_GROUPS=1
Isso fará com que todo usuário adicionado, seja adicionado no grupo domusers.
Outra coisa necessária a se fazer, é editar o script addmachine, que está em /usr/sbin. No script, existe uma váriavel chamada ID_GRUPO_MAQUINAS, essa váriavel é mandatória! Para obter o id do grupo domcomputers, use o comando:
getent group domcomputers|cut -d: -f3
Insira o valor retornado na váriavel.
Feito!, seu samba está pronto para receber máquinas Windows 7!
Fase 5: Adicionando usuários no sistema
Primeiramente, o usuário root, tem permissão para criar o usuário de computador em seu servidor, porém ele não está adicionado em seu sistema (info para quem está começando do zero) para isso é necessário adiciona-lo ao samba. Rode o seguinte comando:
smbpasswd -a root
Digite sua senha
Para alterar a senha do root ou de qualquer outro usuário, use o comando:
smbpasswd root
Fase 6: Adicionando máquinas Windows 7 no domínio
É necessário primeiramente, adicionar algumas chaves no registro. Clique aqui e baixe a alteração do registro.
Se quiser fazer as alterações na mão:
HKey Local Machine\System\CurrentControlSet\Services\LanmanWorkstation\Parameters
Adicionar os valores:
DWORD DomainCompatibilityMode = 1 DWORD DNSNameResolutionRequired = 0
REINICIE O COMPUTADOR! FAZER LOGOFF NÃO RESOLVE! É NECESSÁRIO O REINICIO TOTAL DO SISTEMA!!!
Com as chaves do registro definidas, é necessário nas configurações de IP da máquina que o servidor de WINS seja setado para o SEU SERVIDOR SAMBA.
Configure o seu servidor de DHCP para fornecer esse endereço para os seus clientes.
1º como disse, verifique as configurações do wins
2º Vá até as propriedades do sistema (atalho no teclado, tecla do windows + pause) ou clicar com o botão direito no Meu computador e ir em propriedades
3º Clique em “Change Settings” (não sei como isso está escrito em português)
4º Selecione Domain, e insira o nome do domínio definido na opção Workgroup do samba
Será solicitado uma senha, insira a senha de root que você cadastrou e aguarde. Uma tela de erro como essa irá aparecer:
Pressione ok, e reinicie. Quando entrar, selecione a opção de “Switch User” e loge-se com um usuário do domínio.
Não irei colocar imagens aqui de como inserir máquinas windows xp, faça uma busca rápida no google que irá encontrar muita coisa a respeito.
EXCELENTE ARTIGO!! MUITO BOM, PARABENS!
ResponderExcluirOla amigo aqui não funcionou ainda o mesmo erro de falha de confiança e tals vc tem alguma dica pra me dar!? Obrigado!
ResponderExcluir