Приложение с дефолтным конфигом PAM 'auth include common-auth', но нужно чтобы юзер логинился в зависимости от наличия записи в файле (некоей строки в некоем файле, в смысле grep). Для теста написал /etc/pam-script.d/pam_script_auth с exit 1, добавил в конфиг 'auth requisite pam_script.so' - не выходит! Пароль вообще не запрашивает.
Вопросы:
- сабж вообще учитывает код завершения скрипта или может только скрипты запускать?
- скрипт именно pam_script_auth или?
- или я вообще делаю что-то не то?
У pam_scipt.so есть опция dir, указывающая путь к скриптам. По умолчанию она может указывать на /usr/share/libpam-script. Так же имеет значение что делает приложение, которое использует PAM, возможно, что оно не делает pam_authenticate.
pam_script логирует ошибки в syslog, стоит проверить что там.
Это вообще-то часть вопроса. Глобальная задача такая: заблокировать экран/клавиатуру на определенный промежуток времени. Наглухо! Оказывается, на линуксе это сделать очень непросто))
Короче говоря, заменил xscreensaver на i3lock - без разницы, что блокирует экран - и все заработало, т. е. стал учитываться код завершения скрипта, как оно и должно было быть.
+ vtlock + DontZap и вопрос решен!