2 liuxingyan1121 liuxingyan1121 于 2017.09.13 17:25 提问

Linux系统下使用指纹识别获取sudo权限,使用PAM验证,不弹出自己编写的界面

使用指纹代替密码在Linux系统下获取sudo授权,参考开源fingerprintGUI 编写了PAM模块,该文件中包含pam_sm_authenticate,pam_sm_setcred函数,在pam_sm_authenticate中fork()出一个子进程,在子进程中使用execl运行指纹识别的QT GUI,pam_sm_setcred函数直接返回PAM_SUCCESS,之后修改了sudo的配置文件添加了第一句,后面是系统默认的
auth sufficient libFingerprintPAM.so
auth required pam_env.so readenv=1 user_readenv=0
auth required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
在root用户下使用命令export DISPLAY=:0.0;xhost +$HOSTNAME,执行sudo命令后不会跳出QT界面,但是打印信息显示QT 界面已经运行了,若是一个空的界面则可以显示,而且即使是识别成功也还是需要输密码,QT新手Linux新手搞得好艰难,跪求大神指点。

1个回答

devmiao
devmiao   Ds   Rxr 2017.09.13 23:53
Csdn user default icon
上传中...
上传图片
插入图片