क्या गलत पासवर्ड दर्ज करने पर मैं वेबकैम को एक तस्वीर ले सकता हूं?


72

मैं एक लैपटॉप का उपयोग कर रहा हूं। मैं अपने उबंटू मशीन में एक समर्थन करने के लिए सोच रहा था। जब एक गलत पासवर्ड दर्ज किया जाता है, तो बाद में एक तस्वीर ली जाती है, जो बताती है कि कौन पहुंच पाने की कोशिश कर रहा है।

मैंने चारों ओर खोज की है और मुझे जो एकमात्र चीज़ मिली है वह मैक पर ऐसा करने के लिए सामान है। क्या ऐसा करने के लिए उबंटू के लिए एक स्क्रिप्ट लिखना संभव है।

यदि संभव हो तो ऐसा करने के लिए एक स्क्रिप्ट या सॉफ़्टवेयर क्या है।


Lightdm लॉगिन स्क्रीन पर एक चित्र या पासवर्ड प्रोटेक्टेड स्क्रीनसेवर जैसा कुछ (मूल रूप से लॉगिन करने से पहले या लॉगिन करने के बाद)?
लुइस अल्वाराडो 20

उपयोगकर्ता द्वारा गलत पासवर्ड डाले जाने पर लाइटमाड लॉगिन स्क्रीन पर हाँ चित्र।
twister_void

3
Ubuntuforums पर पीएएम के माध्यम से "उचित" समाधान । ठीक है मैं इसे उत्तर के रूप में पोस्ट करूंगा। :)
gertvdijk

वैकल्पिक रूप से, प्री -जैसे तृतीय-पक्ष एप्लिकेशन इंस्टॉल करें । यह ठीक वैसा नहीं है जैसा आप पूछते हैं, लेकिन यह चोरी के मामले में आपके कंप्यूटर को बचाने और ठीक करने में माहिर है।
धान लैंडौ

यदि आप संवेदनशील / संरक्षित वातावरण में हैं, तो तस्वीर लेने के बारे में मत भूलिए।
pl1nk

जवाबों:


59

BkkBonanza द्वारा Ubuntuforums पर इस पोस्ट के आधार पर ।

यह PAM का उपयोग करने वाला एक दृष्टिकोण है और सभी विफल लॉगिन प्रयासों के लिए काम करेगा। एक वर्चुअल टर्मिनल या रेगुलर लॉगिन स्क्रीन के माध्यम से SSH का उपयोग करना, इससे कोई फर्क नहीं पड़ता कि सब कुछ अंत में PAM द्वारा संभाला जाता है।

  1. FfmpegFfmpeg स्थापित करें स्थापित करें , हम इसे वेब कैमरा छवियों को हथियाने के कमांड लाइन तरीके के रूप में उपयोग करने जा रहे हैं। अद्यतन : जब आप Ubuntu 14.04 में अपग्रेड करते हैं तो ffmpeg को हटा दिया जाता है। हम नीचे दिए गए स्क्रिप्ट में ffmpeg के स्थान पर avconv का उपयोग कर सकते हैं। अलग से कुछ भी स्थापित करने की आवश्यकता नहीं है।

  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। ( ) के 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. रूट एक्सेस ( 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हर बार जब आप रिबूट को मंजूरी दे दी है? (२) आप कैसे बताते हैं कि आपका वास्तविक वीडियो उपकरण क्या है?
धान लैंडौ

6
यह काम करता है लेकिन मैं 3 चीजों को जोड़ना चाहता था। (1) हम उपयोग कर सकते हैं / var / tmp जिसे रिबूट पर मंजूरी नहीं दी गई है। (2) इस घोल को सावधानी से फैलाएं क्योंकि "लो ग्राफिक्स मोड" और / या "बैटरी स्टेट चेक करना" के अनंत लूप में फंसना संभव है, जैसा कि मैं था। (3) यदि आप अटक जाते हैं, रिबूट करते हैं और वसूली मोड में आते हैं (बाएं-शिफ्ट दबाएं); "फेलसेफ़ ग्राफिक्स मोड" चुनें और देखें कि क्या आरडब्ल्यू आरोहित है / है; अब रूट शेल पर छोड़ें; cd से /etc/pam.d; आरडब्ल्यू को chmod आम-ओआरएम, हड़पने की स्क्रिप्ट को कॉल करने के लिए जोड़ी गई लाइन को हटाने के लिए नैनो का उपयोग करके संपादित करें; सहेजें; बाहर जाएं; रिबूट।
श्री

5
मुझे पता चला कि मेरा पीसी क्यों अटक गया। उत्तर में चरण 5.3 से 5.5 तक आम-ओके फ़ाइल की पंक्तियों के अनुसार समायोजित करने की आवश्यकता है। मेरी आम-दास्तान में भी pam_winbind.so के लिए pam_unix.so और pam_deny.so वाली लाइनों के बीच एक और लाइन थी। मूल रूप से "सफलता" पर मौजूद दूसरी पंक्तियों में कैप्चर स्क्रिप्ट के साथ-साथ pam_deny.so लाइन भी छोड़नी पड़ती है।
श्री

मैं भी उसी अवधारणा की कोशिश कर रहा हूं लेकिन उपर्युक्त उत्तर काम न करने के कारण मुझे कम ग्राफिक्स की त्रुटि लगती है, न तो यह गलत प्रयास के लिए कोई छवि और न ही कोई त्रुटि संदेश लेता है। .. आगे क्या करना है। (gertvdijk)
SachiN

1
अब शायद अविकसित ffmpeg के विपरीत avconv या opencv का उपयोग करने के लिए अद्यतन किया जाना चाहिए
RobotHumans
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.