我真的很想pam_exec
在会话期间使用 PAM 模块进行一些帐户设置和拆卸活动。我编写了一个简单的测试脚本,它运行并记录一些运行时数据,以便我可以看到正在发生的事情。
在我看来,exec'd 脚本必须可由运行触发 PAM 的命令的任何人的有效 UID 执行。这是有道理的。但是,我希望在这个过程中更加安全。例如,在我看来,如果我有一个脚本可以在帐户登录/注销时将记录插入数据库,那么该脚本必须始终由所有用户执行。
我更希望脚本只能由 root 或其他一些特殊用途的帐户可见和可执行,并pam_exec
suid
为非特权用户提供脚本。
为什么?在数据库脚本的情况下,我不希望用户登录然后手动执行脚本以看似“注销”。
我曾考虑尝试将脚本放在“sudoers”文件中,但这仍然使任何人都可以随时运行它。
似乎唯一的选择是破解 pam_exec 以允许“运行方式”选项。
星期五下午很晚了,我可能错过了一些琐碎的事情。有没有更好的办法?