Фотографування за допомогою веб-камери для ноутбука після введення неправильного пароля


10

Я хотів би встановити свій ноутбук так, що якщо введений неправильний пароль, коли екран заблокований, знімок робиться за допомогою веб-камери ноутбука. Я перевірив xlock(з пакета xlockmore ), але немає можливості запускати індивідуальну дію, коли вводиться неправильний пароль.

Аналогічне запитання є і в SuperUser, але націлено лише на Windows: Зйомка після введення неправильного пароля .

(Для тих, хто любить кумедні фотографії котів: Мій ноутбук налаштований для фотографування після 3 неправильних спроб пароля .)



7
Ви можете отримати тут відповідь, а також askubuntu.com/questions/253189/…
маз

@mazs Спасибі, це більш-менш те, що я шукав.
Петро Пудлак

Тепер я розумію, чому всі ті хлопці-хакери працюють у худи в темній кімнаті.
Утку

Відповіді:


4

Скопіював цю публікацію на запит Ubuntu від gertvdijk , на яку вказали mazs у коментарях. Намагаючись закрити це питання.


На основі цієї публікації на Ubuntuforums від BkkBonanza .

Це підхід із використанням PAM і буде працювати для всіх невдалих спроб входу. Використовуючи SSH, віртуальний термінал або через звичайний екран входу, не має значення, оскільки в кінцевому підсумку все обробляється PAM.

  1. Встановивши ffmpeg , ми будемо використовувати це як спосіб командного рядка захоплення зображень веб-камери. Оновлення: ffmpeg видаляється під час оновлення до Ubuntu 14.04. Ми можемо використовувати 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замість ffmpeg( sudo apt-get install libav-tools).

  3. Зробіть його виконуваним, наприклад chmod +x /usr/local/bin/grabpicture.

  4. Перевірте це, просто викликаючи його: /usr/local/bin/grabpicture. Перевірте, чи не відображаються файли у /tmp/vid....jpg.

  5. Налаштуйте PAM, щоб викликати це за кожної невдалої спроби.

    Примітка: зробіть це обережно - якщо це не вдасться, ви не зможете знову отримати доступ до вашої системи регулярно.

    1. Відкрийте вікно терміналу з кореневим доступом (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. У цьому рядку змініть успіх = 1 на успіх = 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 / ...), і ви повинні побачити те саме, ввівши неправильний пароль з екрана входу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.