USB डिस्क से लॉक और अनलॉक (पेनड्राइव)


15

क्या फ्लैश ड्राइव का उपयोग करके मेरे उबंटू मशीन को लॉक करने और अनलॉक करने का कोई कार्यक्रम है?

उदाहरण के लिए, जब मैं USB फ्लैश ड्राइव निकालता हूं, तो कंप्यूटर अपने आप लॉक हो जाता है और जब मैं फ्लैश ड्राइव में डालता हूं, तो कंप्यूटर अपने आप अनलॉक हो जाता है।

पहले ही, आपका बहुत धन्यवाद।


2
याद रखें कि क्लोनिंग छड़ी स्टिक तुच्छ कार्य है, भले ही आप सीरियल नंबर की जांच करें।
ओली

जवाबों:


10

मुझे पता है कि यह बहुत देर से जवाब है, बस सोचा कि यह भविष्य के पाठकों की मदद कर सकता है। मैंने USB ड्राइव के साथ लॉकिंग पर उत्तर पोस्ट किया

ठीक है, PAM (प्लगेबल ऑथेंटिकेशन मॉड्यूल) नामक एक मॉड्यूल आपकी आवश्यकता को प्राप्त करने के लिए अनुकूलित किया जा सकता है। इस पर विस्तार से वर्णन करते हुए एक सुंदर लेख linuxconfig पर उपलब्ध है।

कदम हैं:

  1. PAM स्थापित करें

    $ sudo apt-get install pamusb-tools libpam-usb
    
  2. PAM config में USB डिवाइस जोड़ें

    $ sudo pamusb-conf --add-device <my-usb-stick>
    
  3. सहेजने के लिए अपना वॉल्यूम और " Y " चुनें

  4. उपयोगकर्ता PAM के लिए परिभाषित करें

    $ sudo pamusb-conf --add-user <ubuntu-user>
    
  5. बचाने के लिए चयन करें और " Y "

  6. PAM कॉन्फ़िगर करें

    $ sudo gedit /etc/pam.d/common-auth
    
  7. नीचे लाइन जोड़ें और सहेजें

    auth    sufficient      pam_usb.so
    
  8. PAM की स्थिति का परीक्षण करें

    $ su ubuntu-user
    
  9. डिस्कनेक्ट होने पर लॉक करें

    $ sudo gedit /etc/pamusb.conf
    
  10. ब्लॉक "उपयोगकर्ता" ब्लॉक को देखने के लिए संशोधित करें:

    <user id="ubuntu-user"> 
          <device> 
                  my-usb-stick 
          </device> 
          <agent event="lock">gnome-screensaver-command -l</agent> 
          <agent event="unlock">gnome-screensaver-command -d</agent> 
     </user>*
    

6

में

/etc/udev/rules.d/

आप एक स्क्रिप्ट लिख सकते हैं

SUBSYSTEM=="usb", SYSFS{idProduct}=="PPPP", SYSFS{idVendor}=="VVVV", RUN+="/usr/sbin/usb-locking"

जहां PPPP और VVVV ऐसे मान हैं जिन्हें आप निकाल सकते हैं lsusb

प्रत्येक पहचान उत्पाद मेल खाएगा, लेकिन यूएसबी-लॉकिंग डिवाइस को माउंट कर सकता है, और आगे की वैधता के लिए ड्राइव को खुद ही देख सकता है - कुछ फ़ाइल, कुछ बायटेकोड वहां, तिथि ...

यह निश्चित रूप से असुरक्षित है अगर किसी और को छड़ी तक पहुंच मिलती है, निश्चित रूप से।

स्क्रिप्ट आगे हर मिनट दिख सकती है, चाहे छड़ी अभी भी माउंट हो, और लॉक हो या नहीं।


2
आपके नियम में ACTION == जोड़ना चाहिए। इसके अलावा, आप हर मिनट क्यों देखेंगे कि क्या छड़ी है? जब भी छड़ी गायब हो जाती है, बस ACTION == को निकालें और स्क्रीन को लॉक करें। आपको नियम में स्टिक का सीरियल नंबर और विभाजन का यूयूआईडी भी जोड़ना चाहिए।
मथायस उरलिच

3

आपके सुझाव के लिए धन्यवाद .. मैंने lsusb कमांड का उपयोग करते हुए एक सरल स्क्रिप्ट लिखी और सिस्टम में डाल दी -> वरीयताओं-> स्टार्टअप एप्लिकेशन। लिपि इस प्रकार है ।।

#! / Bin / श
# जब मेरा USB पेनड्राइव हटा दिया जाए तो स्क्रिप्ट अपने आप कंप्यूटर को लॉक और अनलॉक कर सकती है

LSUSB = `जो lsusb` है

अगर [-z $ LSUSB]; फिर
    गूंज "कोई lsusb कमांड नहीं मिला। बाहर निकल रहा है .. \ n"
    बाहर निकलें 56
फाई


जबकि :
कर
    सो जाओ ३
    गूंज "लूप में चल रहा है"
    # यूएसबी ड्राइव की जाँच करें

    USB = `lsusb | grep Logitech`

    अगर [-n "$ {USB}"]; फिर
        गूंज "यूएसबी डिवाइस: पार पाया"
        # किसी भी स्क्रीनसेवर को खोजने और मारने के लिए।
        सूक्ति-स्क्रीनसेवर-कमांड - निष्क्रिय करें
        जारी रखें
    फाई

    # USB डिवाइस नहीं मिला
    # जांच करें कि स्क्रीनसेवर चल रहा है या नहीं
    # अगर नहीं चल रहा है तो स्क्रीनसेवर शुरू करें
    सूक्ति-स्क्रीनसेवर-कमांड - सक्रिय करें


किया हुआ

बाहर निकलें 0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.