De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Henrique Cicuto Machado
Data de Publicação: 17 de Novembro de 2005
Os procedimentos abaixo descritos forem testados e estão atualmente em operação em máquinas rodando a distribuição Linux Fedora Core 3 em uma rede Active Directory Windows 2000.
No final do documento existem algumas observações extras sobre algumas seções.
Apesar da grande maioria das empresas que adotaram, em qualquer aspecto, o uso do Linux atualmente se utilizarem de servidores Linux e estações Windows (senão uma rede completamente Linux), existem aquelas (a minha, por exemplo) que resolveram adotar máquinas Linux dentro de uma rede Windows.
Esse foi meu primeiro grande projeto trabalhando com Linux, e digo que ter que fazer isso sozinho não foi nada fácil. Então resolvi escrever esse pequeno tutorial sobre como implementar esse tipo de solução. Espero que possa ajudar alguém.
A instalação é bem simples, sendo necessários apenas os seguintes pacotes:
Agora vamos iniciar a configuração dos arquivos. Segue abaixo uma breve legenda para os exemplos:
1) Kerberos (krb5.conf): Altere as seções 'realms' e 'domain_realms' para ficarem similares as abaixo.
[realms] KDOMAIN.SP = { kdc = 192.168.0.2 default_domain = kdomain.sp } [domain_realms] .kdomain.sp = KDOMAIN.SP kdomain.sp = KDOMAIN.SP
Cheque a configuração obtendo um ticket do Kerberos. Execute numa linha de comando:
kinit Admin@KDOMAIN.SP Password for Admin@KDOMAIN.SP:
Entre com a senha e pressione Enter. Se não aparecer nenhuma mensagem quer dizer que funcionou. Cheque o ticket com o comando 'klist'. A saída deve ser algo mais ou menos como abaixo:
Ticket cache: FILE:/tmp/krb5cc_10000_YwFfS0 Default principal: Admin@KDOMAIN.SP Valid starting Expires Service principal 08/23/05 09:30:00 08/23/05 19:30:04 krbtgt/KDOMAIN.SP@KDOMAIN.SP renew until 08/24/05 09:30:00 Kerberos 4 ticket cache: /tmp/tkt10000 klist: You have no tickets cached
2) SAMBA (smb.conf): A configuração do SAMBA pode variar muito de rede para rede, mas as opções necessárias estão listadas aqui.
[global] netbios name = WS01 server string = WS01 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 realm = KDOMAIN.SP workgroup = KDOMAIN security = ads password server = * encrypt passwords = yes winbind separator = + winbind use default domain = yes winbind use default domain = yes winbind enum users = yes winbind enum groups = yes idmap uid = 10000-60000 idmap gid = 10000-60000 template shell = /bin/bash template homedir = /home/%U
Agora execute o comando 'net' para adicionar a máquina Linux como parte da rede Windows:
net ads join
A saída do comando será algo como assim:
[2005/08/23 09:51:33, 0] libads/ldap.c:ads_add_machine_acct(1405) Using short domain name -- KDOMAIN Joined 'WS01' to realm 'KDOMAIN.SP'
Agora suba os daemons do SAMBA (smbd e nmbd) e do Winbind (winbindd). Cheque a comunicação do Winbind através dos comandos 'wbinfo -u', 'wbinfo -g' e 'wbinfo -t'. O primeiro deverá listar os usuários do Windows, o segundo os grupos e o terceiro deverá devolver a mensagem 'checking the trust secret via RPC calls succeeded'.
3) PAM: No diretório do pam, nós iremos alterar o system-auth. Uma observação importante aqui: No Fedora, esse arquivo afeta o login pelos terminais texto e pelo KDM. Apesar de ter tentando, eu admito que não consegui fazer essa alteração para fazê-la funcionar no GDM ou no XDM. Abaixo é uma cópia do meu system-auth. Outra observação importante: Quando eu fui configurar esse arquivo, percebi que havia sido criado, automaticamente, um system-auth-winbind. Caso ele exista, basta renomeá-lo para system-auth.
auth sufficient /lib/security/pam_winbind.so auth required /lib/security/$ISA/pam_env.so auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok auth required /lib/security/$ISA/pam_deny.so account sufficient /lib/security/pam_winbind.so account required /lib/security/$ISA/pam_unix.so account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet account required /lib/security/$ISA/pam_permit.so password requisite /lib/security/$ISA/pam_cracklib.so retry=3 password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5shadow password sufficient /lib/security/pam_winbind.so use_authtok password required /lib/security/$ISA/pam_deny.so session required /lib/security/pam_mkhomedir.so skel=/etc/skel/ umask=0022 session required /lib/security/$ISA/pam_limits.so session required /lib/security/$ISA/pam_unix.so
4) Nsswitch (/etc/nsswitch.conf): Apenas acrescente nas linhas 'passwd', 'shadow' e 'group' a entrada para o winbind:
passwd: files winbind shadow: files winbind group: files winbind
Agora é só correr para o abraço. Tente efetuar o login com seu usuário da rede Windows.
Observações:
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários