从USB磁盘锁定和解锁(pendrive)

有没有使用闪存驱动器锁定和解锁我的Ubuntu机器的程序?

例如,当我取出USB闪存驱动器时,计算机会自动锁定,当我放入闪存驱动器时,计算机会自动解锁。

先感谢您。

我知道这是一个非常晚的答案,只是认为它可能会帮助未来的读者。 我在Locking with USB drive上发布了答案

那么,可以定制一个名为PAM(可插拔认证模块)的模块来满足您的需求。 linuxconfig上有一篇很好的文章,详细描述了这一点。

步骤是:

  1. 安装PAM

    $ sudo apt-get install pamusb-tools libpam-usb 
  2. 将USB设备添加到PAM配置

     $ sudo pamusb-conf --add-device  
  3. 选择您的音量,然后选择“ Y ”进行保存

  4. 为PAM身份validation定义用户

     $ sudo pamusb-conf --add-user  
  5. 选择并选择“ Y ”保存

  6. 配置PAM

     $ sudo gedit /etc/pam.d/common-auth 
  7. 添加以下行并保存

     auth sufficient pam_usb.so 
  8. 测试PAM身份validation

     $ su ubuntu-user 
  9. 断开时锁定

     $ sudo gedit /etc/pamusb.conf 
  10. 修改块“user”块看起来像:

       my-usb-stick  gnome-screensaver-command -l gnome-screensaver-command -d * 

 /etc/udev/rules.d/ 

你可以写一个脚本

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

其中PPPP和VVVV是您可以使用lsusb提取的值。

每个identic产品都匹配,但usb-locking可以挂载设备,并查看驱动器本身以进一步合法化 – 一些文件,一些字节码,日期……

当然,如果其他人可以访问该棒,那么它很容易受到攻击。

该脚本可以进一步查看每一分钟,是否仍然安装了操纵杆,如果没有,则锁定。

感谢您的建议..我使用lsusb命令编写了一个简单的脚本,并放入了system – > preferences-> startup applications。 脚本如下..

 #!/ bin / sh的
 #删除usb pendrive时自动锁定和解锁计算机的脚本

 LSUSB =`哪个lsusb`

如果[-z $ LSUSB]; 然后
     echo“找不到lsusb命令。退出.. \ n”
     56号出口
科幻


同时:
做
    睡3
     echo“在循环中运行”
     #检查USB驱动器

     USB =`lsusb |  grep Logitech`

     if [-n“$ {USB}”]; 然后
         echo“USB Device:Transcend found”
         #找到并杀死找到的任何屏幕保护程序。
         gnome-screensaver-command --deactivate
        继续
    科幻

     #未找到USB设备
     #检查屏保是否正在运行
     #如果没有运行则启动屏幕保护程序
     gnome-screensaver-command --activate


 DONE

退出0