Linux – Password for GNU screen lockscreen command

gnu-screenlinuxSecurity

I have set a password for screen sessions in my .screenrc. It works great, any time I need to re-attach to a screen session I need to enter the password. There is another feature where you can lockout the current terminal (ctrl+a, x). This is a fantastic feature for locking the terminal really quickly, and I also have it automatically lock the terminal after 20 minutes idle time. For that in .screenrc I added the line 'idle 1200 lockscreen'.

My problem however is that once the terminal is in the lockscreen state, no password seems able to unlock it. Not the screen password, not my users login password. I have no idea where to set the password for this lockscreen state and nothing in the manpage or anything I've found online seems to think mentioning it would be important. The manpage says it uses either /usr/bin/lck or /usr/bin/lock or 'a builtin', but I have neither of the first two binaries and have no idea what this builtin is. Any help?

Best Answer

screen uses PAM for authentication, so the password checking is configured in /etc/pam.d/screen.


This is the default configuration, which checks the Unix password database (/etc/passwd + /etc/shadow):

auth    required    pam_unix.so

If your system uses something else for authentication (Kerberos, NIS, ...) you have to update screen's PAM configuration too. (On some Linux distros (such as Debian), includeing /etc/pam.d/common-auth should be enough.)