Fedora 21 como membro do AD parou de funcionar

1

Eu mantive minha estação de trabalho Fedora 21 conectada ao meu domínio do AD e trabalhei por cerca de um mês e tudo estava bem e então eu cheguei em uma manhã e não pude entrar. Minha resposta inicial foi culpar o Win2013 e o AD, mas depois de uma pequena escavação no visualizador de eventos eu não consegui encontrar nenhum erro, e juntamente com o fato de que eu consegui logar com sucesso em todos os outros membros do Linux AD (Fedora 19/20, CentOS 6, Debian 6/7) não parece ser a fonte do problema.

Quando tento efetuar login via su , tudo que recebo é su: Authentication failure e /var/log/audit/audit.log contém a mensagem:

type=USER_AUTH msg=audit(1421174144.121:1306): pid=25524 uid=1000 auid=1000
ses=2 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 
msg='op=PAM:authentication grantor=? acct="gjohn" exe="/usr/bin/su"
hostname=? addr=? terminal=pts/1 res=failed'

O SELinux está habilitado, mas eu tentei com ele desabilitado e recebo o mesmo erro / mensagem.

Coisas que valem a pena mencionar:

  • A senha que estou inserindo está correta
  • Eu não pressionei o Caps Lock por acidente e não há outros erros triviais do usuário em jogo, tanto quanto eu posso dizer
  • O Samba / Winbind está funcionando e eu recebo a saída correta quando eu faço getent passwd todos os usuários do domínio são exibidos com o UID / GID correto
  • Não é apenas minha conta que não consegue fazer login, todas as contas não podem receber o mesmo erro
  • A mesma coisa acontece nas tentativas de login por meio do GDM, su e SSH

Eu uso uma configuração Samba / Winbind porque, tanto quanto eu posso dizer se você precisar de intervalos de idmap para serviços de arquivo que você precisa. Eu tentei usar o sssd e o realmd, mas nunca consegui controlar os intervalos de UID e GID, o que, para mim, é importante.

Eu estou perdido agora porque há muito pouca informação útil em /var/log/samba/* apesar de ter aumentado o nível de log. Eu suponho que seja relacionado a pam, mas ainda estou tentando descobrir como monitorar a saída para esse fim.

Arquivos de configuração relevantes:

/etc/samba/smb.conf:

[global]
   workgroup = DOMAIN
   realm = DOMAIN.NET
   security = ads
   server string = Workstation
   winbind use default domain = true
   winbind nested groups = yes
   winbind enum users = yes
   winbind enum groups = yes
   winbind offline logon = true
   winbind refresh tickets = yes
   winbind cache time = 5
   template shell = /bin/bash
   template homedir = /home/%U
   idmap config * : backend = rid
   idmap config * : range = 10000-20000
   passdb backend = tdbsam
   encrypt passwords = yes
   # logging
   log level = 3
   log file = /var/log/samba/log.%m
   max log size = 50

/etc/krb5.conf:

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = DOMAIN.NET
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false

/etc/pam.d/password-auth & /etc/pam.d/system-auth:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        sufficient    pam_winbind.so cached_login use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_winbind.so cached_login
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_winbind.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     optional      pam_mkhomedir.so umask=0077
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_winbind.so cached_login

Edit: Eu não vi isso no começo porque /var/log/messages agora é journalctl , a cada tentativa de login eu recebo o erro:

Jan 13 11:41:38 ws.domain.net su[27383]: pam_winbind(su-l:auth): getting password (0x00000210)
Jan 13 11:41:38 ws.domain.net su[27383]: pam_winbind(su-l:auth): pam_get_item returned a password
Jan 13 11:41:38 ws.domain.net su[27383]: pam_winbind(su-l:auth): internal module error (retval = PAM_SERVICE_ERR(3), user = 'gjohn')
Jan 13 11:41:40 ws.domain.net su[27383]: FAILED SU (to gjohn) crdc on pts/11
    
por Geoff Johnson 13.01.2015 / 20:09

1 resposta

0

Acontece que era a conta que estava sendo unida. Eu estava tentando se conectar usando:

net ads join -U administrator

Eu percebi que, como meu DNS estava resolvendo corretamente, tudo bem, não foi. Eu precisava usar [email protected] como a conta para participar.

    
por 12.02.2015 / 04:28