ฉันจะทำให้เว็บแคมถ่ายรูปเมื่อใส่รหัสผ่านไม่ถูกต้องได้หรือไม่?


72

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

ฉันได้ค้นหาไปรอบ ๆ และสิ่งเดียวที่ฉันได้พบคือสิ่งที่ต้องทำใน Macs เป็นไปได้ไหมที่จะเขียนสคริปต์เพื่อให้ Ubuntu ทำเช่นเดียวกัน

ถ้าเป็นไปได้แล้วจะมีสคริปต์หรือซอฟต์แวร์เพื่อให้สิ่งนี้เกิดขึ้น


ภาพบนหน้าจอการเข้าสู่ระบบ lightdm หรือสิ่งที่ต้องการสกรีนเซฟเวอร์ที่ป้องกันด้วยรหัสผ่าน (โดยทั่วไปก่อนเข้าสู่ระบบในหรือหลังเข้าสู่ระบบใน)
Luis Alvarado

ใช่รูปภาพบนหน้าจอการเข้าสู่ระบบ lightdm เมื่อผู้ใช้ใส่รหัสผ่านไม่ถูกต้อง
twister_void

3
"เหมาะสม" การแก้ปัญหาผ่านทาง PAM ใน Ubuntuforums ตกลงฉันจะโพสต์สิ่งนี้เป็นคำตอบ :)
gertvdijk

อีกวิธีหนึ่งคือติดตั้งโปรแกรมของบุคคลที่สามเช่นเหยื่อ มันไม่ได้ทำตามที่คุณขอ แต่มันเชี่ยวชาญในการปกป้องและกู้คืนคอมพิวเตอร์ของคุณในกรณีที่ถูกขโมย
Paddy Landau

อย่าลืมพูดถึงการใช้เว็บแคมถ่ายภาพในกรณีที่คุณอยู่ในสภาพแวดล้อมที่มีความละเอียดอ่อน / ได้รับการปกป้อง
pl1nk

คำตอบ:


59

ขึ้นอยู่กับการโพสต์นี้บน Ubuntuforums โดยBkkBonanza

นี่เป็นวิธีการใช้ PAM และจะใช้งานได้สำหรับการพยายามลงชื่อเข้าใช้ทั้งหมดที่ล้มเหลว การใช้ SSH, เทอร์มินัลเสมือนจริงหรือผ่านหน้าจอเข้าสู่ระบบปกติมันไม่สำคัญว่าทุกอย่างจะถูกจัดการโดย PAM ในท้ายที่สุด

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


9
นั่นฉลาด คำถามที่สอง: (1) คุณไม่ควรใช้โฟลเดอร์อื่นนอกเหนือ/tmpเพราะ/tmpมีการล้างทุกครั้งที่คุณเริ่มต้นใหม่? (2) คุณจะบอกได้อย่างไรว่าอุปกรณ์วิดีโอจริงของคุณคืออะไร?
Paddy Landau

6
ใช้งานได้ แต่ฉันต้องการเพิ่ม 3 สิ่ง (1) เราสามารถใช้ / var / tmp ซึ่งไม่ได้ล้างในการรีบูต (2) เหยียบด้วยวิธีนี้อย่างระมัดระวังเนื่องจากเป็นไปได้ที่จะติดอยู่ในวงวนไม่สิ้นสุดของ "โหมดกราฟิกต่ำ" และ / หรือ "ตรวจสอบสถานะแบตเตอรี่" ตามที่ฉันเป็น (3) หากคุณติดขัดให้รีบูตและเข้าสู่โหมดการกู้คืน (กดซ้าย - กะ); เลือก "โหมดกราฟิกที่ไม่ปลอดภัย" และดูว่า / ติดตั้ง RW หรือไม่ ตอนนี้ลดลงถึงเปลือกหอย; cd ถึง /etc/pam.d; chmod common-auth to RW, แก้ไขโดยใช้ nano เพื่อลบบรรทัดที่เพิ่มเพื่อเรียกสคริปต์ grabpicture; บันทึก; ทางออก; รีบูต
ศรี

5
ฉันคิดออกว่าทำไมพีซีของฉันถึงติด ขั้นตอน 5.3 ถึง 5.5 ในคำตอบจำเป็นต้องปรับเปลี่ยนตามบรรทัดที่ไฟล์ที่มีการตรวจสอบสิทธิ์ทั่วไป Common-auth ของฉันยังมีอีกบรรทัดหนึ่งสำหรับ pam_winbind.so ระหว่างบรรทัดที่มี pam_unix.so และ pam_deny.so โดยทั่วไปบรรทัดการรับรองความถูกต้องของ "ความสำเร็จ" จำเป็นต้องข้ามสคริปต์การดักจับเช่นเดียวกับบรรทัด pam_deny.so
ศรี

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

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