web-dev-qa-db-ja.com

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

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

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

前もって感謝します。

14
Prabin Dahal

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

さて、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>*
    
10
Fr0zenFyr

/etc/udev/rules.d/

あなたはスクリプトを書くことができます

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

ここで、PPPPとVVVVは、lsusbで抽出できる値です。

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

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

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

5
user unknown

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

#!/ bin/sh 
#USBペンドライブが取り外されたときにコンピューターを自動的にロックおよびロック解除するスクリプト
 
 LSUSB = `which lsusb` 
 
 if [-z $ LSUSB]; then 
 echo "No lsusbコマンドが見つかりません。終了します。\ n" 
 exit 56 
 fi 
 
 
 while:
 do 
 sleep 3 
 echo "Running in loop" 
#USBドライブを確認してください
 
 USB = `lsusb | grep Logitech` 
 
 if [-n "$ {USB}"]; then 
 echo "USB Device:Transcend found" 
#見つかったスクリーンセーバーを見つけて強制終了します。
 gnome-screensaver-command --deactivate 
 continue 
 fi 
 
#USBデバイスが見つかりません
#スクリーンセーバーが実行中かどうかを確認します
#実行していない場合は、スクリーンセーバーを起動します
 gnome-screensaver -command --activate 
 
 
 done 
 
 exit 0 
3
Prabin Dahal