Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unknown Error 1 on GNOME #921

Open
MrGlue opened this issue Jun 2, 2024 · 1 comment
Open

Unknown Error 1 on GNOME #921

MrGlue opened this issue Jun 2, 2024 · 1 comment

Comments

@MrGlue
Copy link

MrGlue commented Jun 2, 2024

Howdy installed successfully, after a little help with pip install dlib. sudo howdy test and sudo howdy add also ran without errors or warnings.
While I can use sudo ls and sudo -i with face recognition, I cannot unlock my gnome screen. When I try, it cycles between these two states. I cannot type in the first state and the password field resets every cycle. Pressing enter with a wrong or empty password will not break the cycle. I have to rush in my password in the second state and press enter to unlock the device.

Screenshot from 2024-06-02 17-29-49
Screenshot from 2024-06-02 17-31-15

/var/log/auth.log adds the following when I lock the screen and log in again:

2024-06-02T17:38:21.495154+02:00 NewtonU pam_howdy: Failure, unknown error 1
2024-06-02T17:38:21.499315+02:00 NewtonU pam_howdy: pam_unix(gdm-password:auth): authentication failure; logname=maxbauer uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=maxbauer
2024-06-02T17:38:26.430992+02:00 NewtonU pam_howdy: gkr-pam: unlocked login keyring

When adding this line to /etc/pam.d/gdm-password:

auth sufficient pam_howdy.so

the system cannot find the file (which does not exist on the file system). The auth.log changes as follows:

2024-06-02T17:41:27.615084+02:00 NewtonU gdm-password]: PAM unable to dlopen(pam_howdy.so): /usr/lib/security/pam_howdy.so: cannot open shared object file: No such file or directory
2024-06-02T17:41:27.615179+02:00 NewtonU gdm-password]: PAM adding faulty module: pam_howdy.so
2024-06-02T17:41:30.096503+02:00 NewtonU pam_howdy: Failure, unknown error 1
2024-06-02T17:41:30.102745+02:00 NewtonU pam_howdy: pam_unix(gdm-password:auth): authentication failure; logname=maxbauer uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=maxbauer
2024-06-02T17:41:32.106062+02:00 NewtonU gdm-password]: PAM unable to dlopen(pam_howdy.so): /usr/lib/security/pam_howdy.so: cannot open shared object file: No such file or directory
2024-06-02T17:41:32.106214+02:00 NewtonU gdm-password]: PAM adding faulty module: pam_howdy.so
2024-06-02T17:41:34.541674+02:00 NewtonU pam_howdy: pam_unix(gdm-password:auth): authentication failure; logname=maxbauer uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=maxbauer
2024-06-02T17:41:36.574158+02:00 NewtonU gdm-password]: PAM unable to dlopen(pam_howdy.so): /usr/lib/security/pam_howdy.so: cannot open shared object file: No such file or directory
2024-06-02T17:41:36.574325+02:00 NewtonU gdm-password]: PAM adding faulty module: pam_howdy.so
2024-06-02T17:41:38.488202+02:00 NewtonU pam_howdy: gkr-pam: unlocked login keyring

So, when I modify the line and point to the right file:

auth sufficient /lib/security/howdy/pam_howdy.so

The auth.log changes as follows:

2024-06-02T17:44:36.460022+02:00 NewtonU pam_howdy: Failure, unknown error 1
2024-06-02T17:44:36.464432+02:00 NewtonU pam_howdy: pam_unix(gdm-password:auth): authentication failure; logname=maxbauer uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=maxbauer
2024-06-02T17:44:40.710721+02:00 NewtonU pam_howdy: gkr-pam: unlocked login keyring

So, just as at the beginning of troubleshooting.

/etc/howdy has the following permissions:

maxbauer@NewtonU:~$ ls -la /etc/howdy/
total 28
drwxr-xr-x 4 root root 4096 Jun 2 10:22 .
drwxr-xr-x 145 root root 12288 Jun 2 16:48 ..
-rwxr-xr-x 1 root root 3912 Jun 2 10:18 config.ini
drwxr-xr-x 2 root root 4096 Jun 2 09:18 dlib-data
drwxr-xr-x 2 root root 4096 Jun 2 10:31 models

/lib/security/howdy has the following permissions:

maxbauer@NewtonU:~$ ls -la /lib/security/howdy/
total 148
drwxr-xr-x 8 root root 4096 Jun 2 09:55 .
drwxr-xr-x 3 root root 4096 Jun 2 09:13 ..
drwxr-xr-x 3 root root 4096 Jun 2 09:14 cli
-rwxr-xr-x 1 root root 3408 Feb 19 2023 cli.py
-rwxr-xr-x 1 root root 12367 Feb 19 2023 compare.py
-rwxr-xr-x 1 root root 357 Feb 19 2023 i18n.py
drwxr-xr-x 4 root root 4096 Jun 2 09:13 locales
-rwxr-xr-x 1 root root 3068 Feb 19 2023 logo.png
-rwxr-xr-x 1 root root 85048 Feb 19 2023 pam_howdy.so
drwxr-xr-x 2 root root 4096 Jun 2 09:20 pycache
drwxr-xr-x 3 root root 4096 Jun 2 09:14 recorders
drwxr-xr-x 2 root root 4096 Jun 2 09:13 rubberstamps
-rwxr-xr-x 1 root root 1835 Feb 19 2023 snapshot.py
drwxr-xr-x 2 root maxbauer 4096 Jun 2 09:55 snapshots

My /etc/howdy/config.ini can be found here: https://pastebin.com/VCSrdeGT

A helping hand would be appreciated.


Linux distribution (if applicable): Ubuntu 24.04 LTS (noble)

Howdy version: Howdy 3.0.0 BETA

@mwotton
Copy link

mwotton commented Jun 30, 2024

i had to make the python files in /lib/howdy readable (and the recorders folder executable) for this to work - i guess the lock screen code is running as your user, and the login code is being run by root?
python3 /lib/security/howdy/compare.py $USER

was failing for me with the Error 1 message, fixing those permissions made it work for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants