我在使用笔记本电脑。我想在输入错误密码或“扫描错误指纹”时拍照。我刚刚找到一个关于第一部分的问题/答案(当输入错误密码时,我可以让网络摄像头拍照吗?)
但是没有关于指纹的信息。我按照这些步骤做了,但没有任何效果。我认为这与我的指纹使用有关。
这是我的默认“etc/pam.d/common-auth”:
auth [success=3 default=ignore] pam_fprintd.so max_tries=1 timeout=10 # debug
auth [success=2 default=ignore] pam_unix.so nullok try_first_pass
auth [success=1 default=ignore] pam_sss.so use_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
# end of pam-auth-update config
我怎样才能像这样整理这个脚本:如果密码错误或指纹扫描错误,是否会拍照?提前致谢(抱歉我的英语不好,这不是我的母语)
答案1
Pam 总是惹麻烦,所以我决定应用这篇文章中的第二个答案(当输入错误密码时,我可以让网络摄像头拍照吗?) 这样就解决了我只能用正常密码登录的问题,但是指纹错误登录的操作仍然不起作用。
我的TakePicture.sh
代码:(已编辑,现在代码每隔 0.5 秒拍摄 3 张图片)
#!/bin/bash
while inotifywait -q -e modify /var/log/auth.log >/dev/null
do
if (( $(tail -1 /var/log/auth.log | grep failure | wc -l) == 1))
then
echo "failed login"
date_=`date +%x`
time_=`date +%X`
ffmpeg -f video4linux2 -s vga -i /dev/video0 -vframes 1 /tmp/WAR-$date_-$time_-1.jpg
sleep 0.5
time_=`date +%X`
ffmpeg -f video4linux2 -s vga -i /dev/video0 -vframes 1 /tmp/WAR-$date_-$time_-2.jpg
sleep 0.5
time_=`date +%X`
ffmpeg -f video4linux2 -s vga -i /dev/video0 -vframes 1 /tmp/WAR-$date_-$time_-3.jpg
fi
done
我的TakePicture.service
代码(在/etc/systemd/system/
)
[Unit]
Description=Take Picture
[Service]
Type=Simple
ExecStart=/home/asandikci/TakePicture.sh
[Install]
WantedBy=multi-user.target