Получить пользовательскую команду в модуле Linux PAM

Я пишу модуль pam, который вызывается, когда пользователь выполняет команду sudo. У меня уже есть имя пользователя, пароль, tty, но теперь мне нужно получить команду пользователя для шифрования.

Если пользователь выполняет

sudo ls -l

Мне нужно получить ls -l

У меня нет приложения pam для моего модуля. (Поэтому я использую только pam_modules.h), и мой модуль вызывается первым в /etc/pam.d/sudo

Я подумал об использовании сокета netlink, например pam_tty_audit, но я не думаю, что это лучший метод (или самый простой)

Есть ли у вас какие-либо идеи для получения пользовательской команды?

Спасибо и извините за мой плохой английский


person Aurel    schedule 14.04.2015    source источник


Ответы (1)


Согласно документации API механизмов аутентификации sudo , команда не передается серверу проверки подлинности, поэтому PAM — неподходящее место для выполнения всего, что вы пытаетесь сделать. Попробуйте вместо этого написать плагин sudo.

person Phillip    schedule 14.04.2015