Como o PAM está verificando a senha do usuário em processos não privilegiados?

1

O PAM consegue verificar a senha do usuário, quando chamado de bloqueadores de tela não privilegiados. Por exemplo:

Não consigo encontrar nenhum binário raiz SUID no pacote screen no Fedora 26, mas o comando lockscreen ( Ctrl a Ctrl x ) ainda funciona. Eu não consigo ver nenhum Makefile na raiz SUID da configuração de xsecurelock em nenhum lugar.

Estou confuso. Como é que isso funciona? Meu usuário não tem acesso de leitura a /etc/shadow . Eu não estou usando o OpenWall pam_tcb para arquivos shadow por usuário.

    
por sourcejedi 13.09.2017 / 20:50

1 resposta

4

Se você observar os binários instalados pelo pam, ele incluirá unix_checkpwd .

unix_chkpwd is a helper program for the pam_unix module that verifies the password of the current user. It also checks password and account expiration dates in shadow. It is not intended to be run directly from the command line and logs a security violation if done so.

It is typically installed setuid root or setgid shadow.

The interface of the helper - command line options, and input/output data format are internal to the pam_unix module and it should not be called directly from applications.

    
por 13.09.2017 / 20:50