登录时,在登录窗口(loginGUI 提示窗口)拍摄用户照片

登录时,在登录窗口(loginGUI 提示窗口)拍摄用户照片

我有在脚本中拍照的代码。我不明白如何在登录时运行此脚本。我想修改登录过程,以便:

  • 用户尝试登录 3 次。
  • 3 次失败后,我的脚本运行以使用网络摄像头拍照。

在哪里可以配置用户尝试登录时发生的情况?

答案1

在大多数(但不是全部)unix 系统上,聚丙烯酰胺处理身份验证,因此您需要将脚本插入 PAM 基础结构中。您需要阅读以下内容的某些部分PAM 管理员指南

PAM 配置位于/etc/pam.conf或中/etc/pam.d/*。您需要在以下位置运行您的脚本auth。当身份验证成功时跳过它(类似于[success 1]最后一个必需的组件)并将其设为requisite条目。

您没有指定登录尝试次数的基础。每个用户?每单位时间?根据答案,您可能需要包含其他 PAM 配置或在脚本中执行更多工作。

关闭机器是相当愚蠢的。如果它正在做一些有用的事情,比如后台计算或远程用户怎么办?无论如何,控制台的登录尝试率并不令人担忧,除非有人带来了硬件来自动化登录,在这种情况下他们可以抓住你的硬盘并运行。

答案2

是的,我们需要操作系统版本(Linux?BSD?...)发行版(Fedora、Debian、OpenSuSE?)发行版版本...等等。

没有这些信息真的很难说...

不管怎样,假设您使用的是某种风格的 Linux,并且该发行版已安装或可以安装 GStreamer 框架,您可以使用 GStreamer 命令行工具来执行您想要的操作。实际上,您不需要运行 X(图形)会话 AFAIK:

使用 gstreamer 捕获单帧

一旦您尝试上述命令并且它起作用了,就应该很容易创建一个脚本来读取/var/log/faillog和查找失败的登录尝试,然后您就可以执行您需要的任何操作。

只是一些注意事项:

  • 您需要在内核中编译 v4l(Linux 视频)支持
  • 首先确保您的网络摄像头受 v4l 支持。检查您的发行版文档。
  • 最有可能的是,您需要对脚本执行 root 权限,以便可以关闭计算机
  • 您可能需要使脚本成为一个服务,以便它在启动时执行并在后台运行,无论如何......

相关内容