>[оверквотинг удален]
> ;) Я не понимаю как получить пароль в этом скрипте и
> имя юзверя. В скрипте писал set>/tmp/pam_exec, и разглядывал переменные, пам ведь
> обычно в переменные суёт значения вводимые. Нифига интересного не нашёл. Не
> подскажите как всё-таки получить пароль и логин для использвания в скрипте.
> Вытянул сурсы, глянул и нифига интересного не нарыл в modules/pam_exec/* (я
> бы даже сказал точнее - смотрел как баран на новые ворота
> на этот один небольшой сишник, который в моём разумении является тем,
> что нужно). Подскажите может кто уже ковырялся с этим, а то
> ведь пам создан для перехвата и использования паролей во время логина,
> но вот что-то как-то совсем не то, чего ожидал получается.(если кому будет актуально)
Пароль в pam_exec можно получить из STDIN. Для этого служит параметр expose_authtok. У меня - так:
auth required pam_exec.so expose_authtok /opt/test_pam_exec.pl
Сам скрипт:
#!/usr/bin/perl
open F, ">>/opt/auth.txt";
$pass='';
$pass=<STDIN>;
chop($pass);
print F "Okay! ".join(', ', @ARGV)." --- ".join(', ', keys(%ENV))." --- $pass\n";
close F;
В переменной $pass оказывается введённый зверём пароль