PAM: error de autenticación, con contraseña válida

10

Mando

pamtester -v auth pknopf authenticate
pamtester: invoking pam_start(auth, pknopf, ...)
pamtester: performing operation - authenticate
Password:
pamtester: Authentication failure

diario

Feb 06 13:22:17 PAULS-ARCH unix_chkpwd[31998]: check pass; user unknown
Feb 06 13:22:17 PAULS-ARCH unix_chkpwd[31998]: password check failed for user (pknopf)
Feb 06 13:22:17 PAULS-ARCH pamtester[31997]: pam_unix(auth:auth): authentication failure; logname= uid=1000 euid=1000 tty= ruser= rhost=  user=pknopf

Tal como está ahora, cada pantalla de bloqueo me impedirá "desbloquear" (pantalla de bloqueo de KDE i3lock, etc.).

Si empiezo i3lockcomo sudo, entonces puedo escribir correctamente la contraseña de root para desbloquear la pantalla. Sin embargo, si lo ejecuto como usuario normal y no puedo usar el usuario normal o la contraseña de root para desbloquear.

Aquí está mi configuración PAM para i3lock.

#
# PAM configuration file for the i3lock screen locker. By default, it includes
# the 'system-auth' configuration file (see /etc/pam.d/login)
#
auth include system-auth

Running ls -l /etc/passwd /etc/shadow /etc/groupshows

-rw-r--r-- 1 root root 803 Feb 6 14:16 /etc/group
-rw-r--r-- 1 root root 1005 Feb 6 14:16 /etc/passwd
-rw------- 1 root root 713 Feb 6 14:16 /etc/shadow

Esta es una instalación nueva de Arch, por lo que no creo que la configuración sea demasiado inestable. ¿Qué debería estar buscando para depurar esto?

Running ls -l /sbin/unix_chkpwdshows

-rwxr-xr-x 1 root root 31392 Jun  9  2016 /sbin/unix_chkpwd
Paul Knopf
fuente
¿Tiene una cuenta de usuario pknopfen su /etc/passwd, etc., y puede iniciar sesión?
roaima
Mi cuenta está en / etc / passwd.
Paul Knopf
Puedo "autenticar pamtester autenticación pknopf" con el usuario raíz (ejecutándose como), pero no con el usuario pknopf.
Paul Knopf
Resultado de ls -l /sbin/unix_chkpwdagregado a su pregunta, por favor.
roaima
Pregunta actualizada para incluir el resultado.
Paul Knopf

Respuestas:

11

La instalación de su sistema parece estar rota. Por alguna razón, el archivo /sbin/unix_chkpwdha perdido los bits de privilegio que esperaría ver.

Corrija los permisos ejecutando el siguiente comando como root:

chmod u+s /sbin/unix_chkpwd

Y verifique que los permisos ahora sean los siguientes (vea el sbit en los permisos del usuario):

-rwsr-xr-x 1 root root 31392 Jun  9  2016 /sbin/unix_chkpwd

En mi distribución Raspbian, los permisos se establecen de forma ligeramente diferente (y más restrictiva). Si el cambio descrito anteriormente no funciona, cambie cuidadosamente los permisos en estos dos archivos y vea si esto ayuda (el nombre del grupo no importa demasiado siempre que sea el mismo en ambos casos):

-rw-r----- 1 root shadow  1354 Dec  6 13:02 /etc/shadow
-rwxr-sr-x 1 root shadow 30424 Mar 27  2017 /sbin/unix_chkpwd
roaima
fuente
1
Este es mi problema. Fue el resultado de que Docker quitó ese bit de privilegio. github.com/moby/moby/issues/36239
Paul Knopf
4

En una máquina Debian, en mi caso tuve que agregar un usuario exim4 al shadowgrupo.

usermod -a -G shadow Debian-exim

PAM: en los sistemas Debian, los módulos PAM se ejecutan como el mismo usuario que el programa de llamada, por lo que no pueden hacer nada que usted no pueda hacer y, en particular, no puede acceder a / etc / shadow a menos que el usuario esté en la sombra del grupo. - Si desea utilizar / etc / shadow para SMTP AUTH de Exim, deberá ejecutar exim como sombra de grupo. Solo exim4-daemon-heavy está vinculado contra libpam. Sugerimos usar saslauthd en su lugar.

http://lira.no-ip.org:8080/doc/exim4-base/README.Debian.html

Daniel Sokolowski
fuente