输入错误的密码后,使用笔记本电脑网络摄像头拍照


10

我想设置笔记本电脑,以便在锁定屏幕时输入错误的密码,然后使用笔记本电脑的网络摄像头拍照。我检查了xlock(从xlockmore软件包中获取),但是当输入错误的密码时,没有选择来运行自定义操作。

在SuperUser上也有类似的问题,但仅针对Windows:输入错误的密码后拍照

(对于那些喜欢逗猫照片的人:我的笔记本电脑已设置为在3次错误的密码尝试后拍照。)



7
您可能在这里也有一个答案askubuntu.com/questions/253189/…–
mazs

@mazs谢谢,这或多或少是我想要的。
PetrPudlák16年

现在我明白了为什么所有这些黑客家伙都在黑暗的房间里的帽衫里工作。
Utku

Answers:


4

复制这个帖子由问Ubuntu的gertvdijk,通过指出mazs中的注释。为了解决这个问题。


基于这个帖子在ubuntu论坛由BkkBonanza

这是一种使用PAM的方法,适用于所有失败的登录尝试。使用SSH,虚拟终端或通过常规登录屏幕,这一切都无关紧要,因为最终一切都由PAM处理。

  1. 安装ffmpeg,我们将使用它作为获取网络摄像头图像的命令行方式。更新:升级到Ubuntu 14.04时,ffmpeg被删除。我们可以在下面的脚本中使用avconv代替ffmpeg。无需单独安装任何东西。

  2. 在某处创建一个小脚本,例如/usr/local/bin/grabpicture,包含以下内容

    #!/bin/bash
    ts=`date +%s`
    ffmpeg -f video4linux2 -s vga -i /dev/video0 -vframes 3 /tmp/vid-$ts.%01d.jpg
    exit 0  #important - has to exit with status 0
    

    用您网络摄像头的实际视频设备更改/ dev / video0,然后选择保存图片的路径-我只是选择/tmp。在较新版本的Ubuntu中,请使用avconv代替ffmpegsudo apt-get install libav-tools)。

  3. 使它可执行,例如chmod +x /usr/local/bin/grabpicture

  4. 测试,仅仅通过调用它:/usr/local/bin/grabpicture。检查是否看到文件出现在中/tmp/vid....jpg

  5. 配置PAM以在每次失败的尝试时调用此方法。

    注意:请谨慎执行-如果失败,您将无法以常规方式再次访问系统。

    1. 打开一个具有root用户访问权限的终端窗口(sudo -i)并将其保持打开状态-以防万一您在后续步骤中搞砸了。
    2. /etc/pam.d/common-auth在您喜欢的编辑器中打开,例如通过执行gksudo gedit /etc/pam.d/common-auth。请记住以下步骤,此文件中的行顺序很重要。

    3. 找到下面的行。默认情况下,之前有一行pam_deny.so。在我的12.04系统上,它看起来像这样:

      auth    [success=1 default=ignore]      pam_unix.so nullok_secure
      
    4. 在此行中,将success = 1更改为success = 2,以使其成功跳过脚本。这是重要的一步。

    5. 在此处的下面,添加一个新脚本以调用实际脚本:

      auth    [default=ignore]                pam_exec.so seteuid /usr/local/bin/grabpicture
      
    6. 保存并关闭文件。无需重启任何东西。

  6. 测试一下。

    1. 在新的终端窗口中,以常规用户身份尝试su -l username以另一个用户名登录username(当然,请更改为实际用户名)。故意输入错误的密码。检查是否产生新照片。
    2. 与上面相同,但是现在输入正确的密码。检查您是否登录并且没有导致拍照。
  7. 如果测试成功,则可以从DE(Unity / KDE / ...)注销,并且在登录屏幕上输入错误密码时应该会看到相同的内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.