Eu tenho uma configuração onde eu tenho um diretório corporativo ativo que contém nomes de usuário e senhas que é usado para autenticação. Eu mantenho meus próprios recursos de nuvem, no meu caso hosts Linux RHEL 7; Eu recebo uma configuração pronta para uso na qual eu crio contas locais (/ etc / passwd) para todos os usuários em cada host linux e essa conta autentica usando krb5 para o AD corporativo. Tudo isso é bom e funciona.
No entanto, quero colocar minhas informações de usuário no LDAP em vez de manter as informações do usuário em todos os hosts. Então eu configurei servidores e clientes nslcd e openldap. Eu defino as informações do usuário (equivalente a / etc / passwd) no OpenLDAP, mas deixo as informações de senha para fora (que ainda estão no AD). Esta configuração funciona quando eu faço o login no host via ssh (putty).
Eu também quero fazer login nos hosts do Linux via XRDP, em vez de VNC direto (já que estou vindo do Windows). Se eu usar a configuração de arquivo local, de modo que os usuários estejam em / etc / passwd, krb5 para o AD corporativo para autenticação de senha, o XRDP funcionará. No entanto, quando eu tirar o usuário de / etc / passwd e shadow, coloque-os no LDAP, mesmo que o login do ssh funcione, o login do XRDP então não.
/etc/pam.d/sshd e /etc/pam.d/xrdp-sesman são idênticos; ambos primeiro contêm entradas corporativas do AD via pam_krb5, depois configurações regulares de login unix / LDAP.
O problema parece ser que o pam_krb5 não obtém as informações do UID / GID quando faz o login via XRDP.
Com o usuário no LDAP, / var / log / secure para ssh se parece com:
Oct 3 13:20:56 host sshd[2407]: pam_krb5[2407]: TGT verified
Oct 3 13:20:56 host sshd[2407]: pam_krb5[2407]: authentication succeeds for 'USER' (USER@DOMAIN)
Oct 3 13:20:56 host sshd[2407]: Accepted password for USER from IP_ADDR port 63785 ssh2
Oct 3 13:20:56 host sshd[2407]: pam_unix(sshd:session): session opened for user USER by (uid=0)
Com o usuário em / etc / passwd, XRDP (trabalhando) / var / log / secure parece com:
Oct 3 13:17:55 host xrdp-sesman[799]: pam_krb5[799]: TGT verified
Oct 3 13:17:55 host xrdp-sesman[799]: pam_krb5[799]: authentication succeeds for 'USER' (USER@DOMAIN)
Oct 3 13:17:55 host xrdp-sesman[2143]: pam_unix(xrdp-sesman:session): session opened for user USER by (uid=0)
Oct 3 13:17:56 host polkitd[495]: Registered Authentication Agent for unix-session:9 (system bus name :1.54 [/usr/libexec/xfce-polkit], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Mas então, na configuração que não funciona, usuário apenas no LDAP, XRDP, eu recebo isso em / var / log / secure:
Oct 3 13:21:40 host xrdp-sesman[799]: pam_krb5[799]: error resolving user name 'USER' to uid/gid pair
Oct 3 13:21:40 host xrdp-sesman[799]: pam_krb5[799]: error getting information about 'USER'
Oct 3 13:21:40 host xrdp-sesman[799]: pam_unix(xrdp-sesman:auth): check pass; user unknown
Oct 3 13:21:40 host xrdp-sesman[799]: pam_unix(xrdp-sesman:auth): authentication failure; logname= uid=0 euid=0 tty=xrdp-sesman ruser= rhost=
Eu tentei uma variedade de alterações no arquivo pam sem sucesso. E eu procurei por qualquer variação que eu possa pensar sem encontrar um problema / solução similar. Quaisquer recomendações seriam apreciadas. Obrigado!