У меня проблема с мертвым простым скриптом Python; вызывается с помощью pam_exec.
Я добавил строку в конец этого файла /etc/pam.d/common-session
:
сеанс необязательный pam_exec.so / bin / python /usr/local/bin/pam_notify_python.py
В pam_notify_python.py
сценарий содержит простой print "Hello world"
Очевидно, это не работает, но я не понимаю, почему. Скрипт ничего не печатает, когда я su user
или просто su
, но когда я запускаю новую оболочку и вручную выполняю python /usr/local/bin/pam_notify_python.py
это работает.
Я что-то пропустил ? Спасибо за прочтение !
В pam_exec(8)
На странице руководства рассказывается, почему:
stdout
Per default the output of the executed command is written to
/dev/null. With this option, the stdout output of the executed
command is redirected to the calling application. It's in the
responsibility of this application what happens with the output.
The log option is ignored.
Итак, вам нужно добавить stdout
к строке:
session optional pam_exec.so stdout /bin/python /usr/local/bin/pam_notify_python.py