Temos uma pequena rede em nosso departamento
- 2 Controlador de domínio do Win Server 2008
- 1 servidor da web debian
- um número de clientes win7
Meu predecessor tentou adicionar o servidor ao nosso domínio para fazer o login com contas de usuário do nosso domínio (principalmente para transferências de arquivos para o servidor da Web). Eu trabalhei por algum tempo, mas desde um ponto não identificado no tempo, não funciona mais.
Então eu li alguns tutoriais sobre o samba e examinei os arquivos de configurações, mas não consegui encontrar o problema. Agora estou procurando sua ajuda.
auth.log
após tentar fazer login com um "usuário do domínio":
Mar 13 17:04:33 linuxwebserver login[22754]: pam_winbind(login:auth): getting password (0x00000000)
Mar 13 17:04:35 linuxwebserver login[22754]: pam_winbind(login:auth): user '<domain-username>' granted access
Mar 13 17:04:35 linuxwebserver login[22754]: pam_unix(login:account): could not identify user (from getpwnam(<domain-username>))
Mar 13 17:04:35 linuxwebserver login[22754]: User not known to the underlying authentication module
auth.log
após tentar fazer login com um "domínio" \ "usuário do domínio":
Mar 13 17:06:29 linuxwebserver login[22762]: pam_winbind(login:auth): getting password (0x00000000)
Mar 13 17:06:32 linuxwebserver login[22762]: pam_winbind(login:auth): request failed: No such user, PAM error was Benutzer bei zu Grunde liegendem Authentifizierungsmodul nicht bekannt (10), NT error was NT_STATUS_NO_SUCH_USER
Mar 13 17:06:32 linuxwebserver login[22762]: pam_unix(login:auth): check pass; user unknown
Mar 13 17:06:32 linuxwebserver login[22762]: pam_unix(login:auth): authentication failure; logname=root uid=0 euid=0 tty=pts/3 ruser= rhost=
Mar 13 17:06:34 linuxwebserver login[22762]: FAILED LOGIN (1) on 'pts/3' FOR 'UNKNOWN', User not known to the underlying authentication module
Parece-me que o servidor está corretamente no domínio, mas há alguns problemas com a forma como o Linux verifica a validade das contas.
smb.conf
: link
nsswitch.conf
:
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the 'glibc-doc-reference' and 'info' packages installed, try:
# 'info libc "Name Service Switch"' for information about this file.
passwd: compat winbind
group: compat winbind
shadow: compat winbind
hosts: files dns wins
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
wbinfo -u
me fornece uma lista correta de todas as contas em nosso domínio (sem "DOMAIN \" na frente dos nomes)
wbinfo -g
me fornece uma lista correta dos grupos em nosso domínio (sem "DOMAIN \" na frente dos nomes)
getent passwd
me fornece uma lista das contas locais (unix-) no nosso servidor (sem usuários do domínio)
getent group
me fornece uma lista dos grupos locais (unix-) em nosso servidor da Web (sem usuários do domínio)
# wbinfo -p
Ping to winbindd succeeded
Minha idéia: o Linux usa as informações do passwd para verificar se uma conta é válida ou não, mas não verifica a informação do wbinfo para ela. Pensei ter resolvido isso adicionando o winbind ao nsswitch.conf
, mas o problema permaneceu.
EDITAR:
/etc/pam.d/common-auth
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass
/etc/pam.d/common-account
account sufficient pam_winbind.so
account required pam_unix.so
/etc/pam.d/common-password
password required pam_unix.so nullok obscure md5
EDIT2:
/etc/krb5.conf
[libdefaults]
default_realm = <DOMAIN>.LOCAL
# The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
# The following encryption type specification will be used by MIT Kerberos
# if uncommented. In general, the defaults in the MIT Kerberos code are
# correct and overriding these specifications only serves to disable new
# encryption types as they are added, creating interoperability problems.
#
# Thie only time when you might need to uncomment these lines and change
# the enctypes is if you have local software that will break on ticket
# caches containing ticket encryption types it doesn't know about (such as
# old versions of Sun Java).
# default_tgs_enctypes = des3-hmac-sha1
# default_tkt_enctypes = des3-hmac-sha1
# permitted_enctypes = des3-hmac-sha1
# The following libdefaults parameters are only for Heimdal Kerberos.
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
[realms]
<DOMAIN>.LOCAL = {
kdc = <WIN DOMAIN CONTROLLER>.<DOMAIN>.local
admin_server = <WIN DOMAIN CONTROLLER>.<DOMAIN>.local
}
[domain_realm]
.<DOMAIN>.local = <DOMAIN>.LOCAL
[login]
krb4_convert = true
krb4_get_tickets = false