USBディスク(ペンドライブ)のロックとロック解除


15

フラッシュドライブを使用してUbuntuマシンをロックおよびロック解除するプログラムはありますか?

たとえば、USBフラッシュドライブを取り出すと、コンピューターは自動的にロックされ、フラッシュドライブを挿入すると、コンピューターは自動的にロック解除されます。

前もって感謝します。


2
シリアル番号を確認しても、USBスティックのクローン作成は簡単な作業です。
オッリ

回答:


10

私はそれがひどく遅い答えであることを知っている、ただそれが将来の読者を助けるかもしれないと思った。USBドライブでのロックに回答を投稿しました

さて、PAM(Pluggable Authentication module)と呼ばれるモジュールをカスタマイズして、ニーズを達成できます。これについて詳しく説明している美しい記​​事がlinuxconfigにあります。

手順は次のとおりです。

  1. PAMをインストールする

    $ sudo apt-get install pamusb-tools libpam-usb
    
  2. USBデバイスをPAM構成に追加する

    $ 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」ブロックを次のように変更します。

    <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

すべての同一の製品が一致しますが、USBロックはデバイスをマウントし、ドライブ自体を調べて、さらなる正当化を求めます-ファイル、そこにあるバイトコード、日付...

もちろん、誰か他の人がスティックにアクセスできる場合は脆弱です。

スクリプトは、スティックがまだマウントされているかどうかを毎分さらに調べ、マウントされていない場合はロックします。


2
ルールにはACTION == addが必要です。また、なぜスティックがそこにあるかどうか毎分見るのでしょうか?ACTION == removeでトリガーし、スティックが消えるたびに画面をロックします。スティックのシリアル番号とパーティションのUUIDもルールに追加する必要があります。
マティアスユリックス16

3

ご提案ありがとうございます。lsusbコマンドを使用して簡単なスクリプトを作成し、システム->プリファレンス->スタートアップアプリケーションを追加しました。スクリプトは次のとおりです。

#!/ bin / sh
#USBペンドライブが取り外されたときにコンピューターを自動的にロックおよびロック解除するスクリプト

LSUSB = `which lsusb`

if [-z $ LSUSB]; それから
    echo "lsusbコマンドが見つかりません。終了します。\ n"
    56番出口
fi


ながら:
行う
    寝る3
    echo "ループで実行中"
    #USBドライブを確認する

    USB = `lsusb | grep Logitech`

    if [-n "$ {USB}"]; それから
        echo "USBデバイス:トランセンドが見つかりました"
        #見つかったスクリーンセーバーを見つけて強制終了します。
        gnome-screensaver-command --deactivate
        継続する
    fi

    #USBデバイスが見つかりません
    #スクリーンセーバーが実行中かどうかを確認
    #実行していない場合は、スクリーンセーバーを起動します
    gnome-screensaver-command --activate


やった

出口0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.