O pam_krb5 do CentOS não suporta o retention_after_close.
Estou tentando fazer com que o Kerberos PAM compre um ticket e não o destrua após um login do RStudio no CentOS 7.
Meu arquivo rstudio
em /etc/pam.d/
se parece com:
#%PAM-1.0
auth required pam_krb5.so retain_after_close debug
session requisite pam_krb5.so retain_after_close debug
account required pam_krb5.so debug
Eu sei que o RStudio está se comunicando bem com a Pilha do PAM, porque se eu excluir a primeira linha, o RStudio não fará o login. Eu também faço outras manipulações que me permitem saber que os dois estão em sincronia.
De acordo com a documentação do RStudio, se eu executar o comando: pamtester --verbose rstudio <user> authenticate setcred open_session
Depois de inserir minha senha, um ticket é criado em /tmp
chamado krb5cc_(uid)
, que é o que eu esperaria. Eu posso fazer a linha pamtester acima não conseguir puxar um ticket removendo o setcred
flag que me diz que este é o componente chave.
Uma olhada na documentação do Keberos PAM diz que session
executa o mesmo que auth
, mas é executado com o comando pam_setcred(PAM_ESTABLISH_CRED)
flag, que é o que eu quero. A mesma documentação diz que, se eu adicionar retain_after_close
, o ticket deve ser mantido. No entanto, isso não está acontecendo e nem tenho certeza se está realmente fazendo a compra.
Qualquer ajuda é apreciada, tentei quase todas as combinações de sinalizadores e parâmetros no arquivo PAM quanto possível, mas sem sucesso. O Kerberos é um pesadelo. LMK o que mais eu posso adicionar para ajudar. Os arquivos de log não são úteis, infelizmente, pois não registram um erro, devido ao fato de que o PAM "falha silenciosamente" se uma linha não for compreendida.
O pam_krb5 do CentOS não suporta o retention_after_close.