ถ่ายภาพด้วยเว็บแคมแล็ปท็อปหลังจากป้อนรหัสผ่านไม่ถูกต้อง


10

ฉันต้องการตั้งค่าแล็ปท็อปของฉันเพื่อที่ว่าหากรหัสผ่านไม่ถูกต้องเมื่อหน้าจอถูกล็อครูปภาพจะถูกถ่ายโดยใช้เว็บแคมของแล็ปท็อป ฉันตรวจสอบxlock(จากแพ็คเกจxlockmore ) แต่ไม่มีตัวเลือกให้เรียกใช้การดำเนินการที่กำหนดเองเมื่อป้อนรหัสผ่านผิด

มีคำถามที่คล้ายกันใน SuperUser เป็น แต่เพียงเป้าหมายของ Windows: การถ่ายภาพหลังจากที่ป้อนรหัสผ่านผิด

(สำหรับผู้ที่ชอบรูปแมวตลก: แล็ปท็อปของฉันถูกตั้งค่าให้ถ่ายภาพหลังจากพยายามรหัสผ่านไม่ถูกต้อง 3 ครั้ง )


2
คุณได้ตรวจสอบgithub.com/jeroennijhof/pam_script
Hristo Mohamed

7
คุณอาจมีคำตอบที่นี่เช่นกันaskubuntu.com/questions/253189/…
mazs

@mazs ขอบคุณนั่นคือสิ่งที่ฉันกำลังมองหามากหรือน้อย
Petr Pudlák

ตอนนี้ฉันเข้าใจแล้วว่าทำไมพวกแฮ็กเกอร์ทุกคนจึงทำงานใน hoodies ในห้องมืด
Utku

คำตอบ:


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 / ... ) และคุณจะเห็นเหมือนกันเมื่อป้อนรหัสผ่านผิดจากหน้าจอเข้าสู่ระบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.