从USB磁盘锁定和解锁(pendrive)
有没有使用闪存驱动器锁定和解锁我的Ubuntu机器的程序?
例如,当我取出USB闪存驱动器时,计算机会自动锁定,当我放入闪存驱动器时,计算机会自动解锁。
先感谢您。
我知道这是一个非常晚的答案,只是认为它可能会帮助未来的读者。 我在Locking with USB drive上发布了答案
那么,可以定制一个名为PAM(可插拔认证模块)的模块来满足您的需求。 linuxconfig上有一篇很好的文章,详细描述了这一点。
步骤是:
-
安装PAM
$ sudo apt-get install pamusb-tools libpam-usb
-
将USB设备添加到PAM配置
$ sudo pamusb-conf --add-device
-
选择您的音量,然后选择“ Y ”进行保存
-
为PAM身份validation定义用户
$ sudo pamusb-conf --add-user
-
选择并选择“ Y ”保存
-
配置PAM
$ sudo gedit /etc/pam.d/common-auth
-
添加以下行并保存
auth sufficient pam_usb.so
-
测试PAM身份validation
$ su ubuntu-user
-
断开时锁定
$ sudo gedit /etc/pamusb.conf
-
修改块“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