[FUG-BR] FreeBSD autenticando users em NT Domain

Rogério Schneider stockrt em gmail.com
Sexta Novembro 3 13:07:01 BRST 2006


Thiago, assim, eu não uso o samba, apenas o configurei para poder ter
os comandos net (para o join) e o daemon winbindd para fazer o
transporte SMB do /etc/nsswitch.conf ao AD.

Então, não autentico ninguém em samba, apenas uso o nsswitch para
puxar os users (contas, nomes, grupos) do AD, a fim de centralizar a
criação de users para a rede Windows e para os e-mails. Dessa forma
também tenho um SSH rodando autenticando no AD, só me falta o imap
autenticar os users da forma correta no AD, para poder liberar acesso
aos e-mails.

Minhas configurações:



smb.conf em modo ROLE_DOMAIN_MEMBER, para que os comandos:

# kinit <adminuser>@TEST.DOMAIN
# net ads join -U <adminuser>

funcionem da forma correta:
----------------------------------------------------------------------------------------------------------------
[global]
       workgroup = TEST
       realm = TEST.DOMAIN
       netbios name = NAME
       security = ADS
       allow trusted domains = No
       password server = SERVER.TEST.DOMAIN
       log level = 20
       syslog only = Yes
       log file = /var/log/samba/log.%m
       max log size = 500
       socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
       load printers = No
       preferred master = No
       domain master = No
       dns proxy = No
       wins server = SERVER.TEST.DOMAIN
       idmap backend = rid:TEST=2000-100000
       idmap uid = 2000-100000
       idmap gid = 2000-100000
       template shell = /usr/local/bin/bash
       winbind cache time = 3600
       winbind enum users = Yes
       winbind enum groups = Yes
       winbind use default domain = Yes
       hosts allow = 192.168., 172.16.0., 127., 10.0.
       veto files = /*.exe/*.mp3/*.bat/*.{*}/ # Arquivos proibidos de
serem copiados para o servidor.
----------------------------------------------------------------------------------------------------------------


Note que usei TEST e DOMAIN e não os nomes reais dos servidores e domínio.
É importante deixar o security com ADS e configurar com preferred
master = No e domain master = No para que o testparm retorno
ROLE_DOMAIN_MEMBER e nao PDC ou BDC... senão teu net ads join não
funciona.


/etc/nsswitch.conf
----------------------------------------------------------------------------------------------------------------
group:         files winbind
group_compat:  nis
hosts:         files dns
networks:      files
passwd:        files winbind
passwd_compat: nis
shells:        files
----------------------------------------------------------------------------------------------------------------


/etc/krb5.conf
----------------------------------------------------------------------------------------------------------------
[libdefaults]
       default_realm = TEST.DOMAIN

[realms]
       TEST.DOMAIN = {
               kdc = SERVER.TEST.DOMAIN
               admin_server = SERVER.TEST.DOMAIN
               default_domain = TEST.DOMAIN
       }

[domain_realm]
       .test.domain  = TEST.DOMAIN
       test.domain = TEST.DOMAIN

[logging]
       kdc = FILE:/var/log/krb5kdc.log
       admin_server = FILE:/var/log/kadmin.log
       default = FILE:/var/log/krb5lib.log
----------------------------------------------------------------------------------------------------------------


/etc/hosts
----------------------------------------------------------------------------------------------------------------
192.168.0.x             test.domain test
192.168.0.x             TEST.DOMAIN TEST
192.168.0.x             server.test.domain server
192.168.0.x             SERVER.TEST.DOMAIN SERVER
----------------------------------------------------------------------------------------------------------------



E é isso. Os users viram locais, e com isso se pode autenticar SSH,
por exemplo, de forma direta, sem alterar o /etc/pam.d/sshd. O finger
também funciona da mesma forma, trazendo os dados de users do AD, o su
também, chown, chgrp, etc...

Já para o imap precisei alterar o /etc/pam.d/imap, mas mesmo tentando
diversas configurações a autenticação imap está instável, depois de
errar a senha (uma vez) não é mais possível se autenticar com
sucesso... Alguém ja resolveu isso?


Meu /etc/pam.d/imap co problemas...
----------------------------------------------------------------------------------------------------------------
auth required /usr/local/lib/pam_winbind.so try_first_pass
account required /usr/local/lib/pam_winbind.so
----------------------------------------------------------------------------------------------------------------

Se usar sufficient no lugar do required QUALQUER senha autentica o
usuário, o que não e legal :)

Alguém sabe resolver isso?


Att,
RS


On 11/3/06, Thiago Gomes <thiagomespb em yahoo.com.br> wrote:
> Rogerio,
>
> Teria como vc me passar as suas configurações.. estou
> tendo problemas como vc viu no meu samba autenticado
> no AD. acontence isso como vc ?
>
> Obrigado
>
>
> --- Rogério Schneider <stockrt em gmail.com> escreveu:
>
> > Olá, deu certo. Agora o FreeBSD lista os users sem
> > problemas, o
> > segredo estava no kinit e depois net ads join e nao
> > net rpc join.... e
> > para que o net ads join funcione o smb.conf deve
> > estar configurado
> > para ser um MEMBER, não um PDC ou BDC, conforme a
> > documentação
> > fornecida pelo Márcio, obrigado.
> >
> > Agora surge um outro problema, o imap.
> > Estou usando imaps, porta 993, novalidate-cert, para
> > autenticar os
> > users de mail via webmail (horde). Acontece que o
> > imap está instável
> > na autenticação e não sei como resolver.
> >
> > Meu /etc/pam.d/imap está assim:
> >
> > # auth
> > ### REMOVIDO auth            required
> > pam_unix.so
> > no_warn try_first_pass
> >
> > auth required /usr/local/lib/pam_winbind.so
> > try_first_pass
> >
> > # account
> > account required /usr/local/lib/pam_winbind.so
> >
> >
> > Com isso o imap autentica legal, mas ao digitar a
> > senha errada, ele
> > demora vários minutos para voltar a autenticar mesmo
> > com a senha
> > correta, ele passa a não aceitar mais a senha
> > correta após uma falha
> > na autenticação.
> >
> > Será que eu deveria mudar o meu /etc/pam.d/imap?
> > Deixando o auth em "sufficient" ocorre que qualquer
> > senha, QUALQUER
> > uma valida o usuário : ) Bem estranho.
> >
> >
> >
> > Att,
> > RS
> >
> >

-- 
Rogério Schneider
+55 (55) 9985 2127
+55 (55) 3332 5923
+55 (55) 3321 1535

MSN: stockrt em hotmail.com
ICQ: 78778973
GTalk: stockrt em gmail.com
Skype: stockrt


Mais detalhes sobre a lista de discussão freebsd