Alrighty.我想到了.要小心不要搞砸,因为如果你做错了,可能会搞砸你的系统.如果您对此感到不舒服,最好先在虚拟机中进行尝试.
教程
>创建脚本.在本教程中,我将把脚本放在/var/myscript.sh中.您可以安全地将脚本路径替换为脚本所在的位置.在任何情况下,请确保脚本不会以0以外的任何代码退出.此外,将命令exit 0添加到脚本的末尾以确保它正确退出.务必在继续之前测试脚本.
>使用chmod x /var/myscript.sh使脚本可执行
>在真正的工作发生之前,如果你搞砸了,打开终端并键入sudo -i.只要打开那个窗口以防万一.
> gksudo nano /etc/pam.d/common-auth.您可以使用任何文本编辑器替换nano.要进行备份,你可以做sudo cp /etc/pam.d/common-auth /etc/pam.d/common-auth.bkup
>找到以下行:
auth [success = 1 default = ignore] pam_unix.so nullok_secure
>在该行上,将success = 1更改为success = 2.这是为了确保在登录成功时脚本不会运行.
>在第5步中直接在该行下方添加此行:
auth [default = ignore] pam_exec.so seteuid /var/myscript.sh
>保存并关闭.
>如果没有重启或“重新启动”,请打开一个新终端并运行su -l< username>.
>故意输入错误的密码,并检查脚本是否有效.然后,再次尝试步骤9,但使用正确的密码.确保您可以登录.
积分
感谢很多文档和帖子,特别是this one.