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

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

是否有任何程序可以使用闪存驱动器锁定和解锁我的 Ubuntu 机器?

比如我拔出U盘的时候电脑会自动锁定,我插入U盘的时候电脑会自动解锁。

先感谢您。

答案1

我知道这是一个非常晚的答案,只是认为它可能会帮助未来的读者。我把答案贴在使用 USB 驱动器锁定

嗯,可以定制一个名为 PAM(可插入身份验证模块)的模块来满足您的需求。 这里有一篇精彩的文章linux配置详细描述这一点。

步骤如下:

  1. 安装 PAM

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

    $ sudo pamusb-conf --add-device <my-usb-stick>
    
  3. 选择您的音量并““保存”

  4. 定义 PAM 身份验证的用户

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

  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>*
    

答案2

/etc/udev/rules.d/

你可以写一个脚本

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

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

每个相同的产品都会匹配,但 USB 锁定可以安装该设备,并查看驱动器本身以进行进一步的合法性 - 一些文件,一些字节码,日期...

当然,如果其他人获得了这根棍子,它就很容易受到攻击。

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

答案3

谢谢你的建议。。我利用 lsusb 命令写了一个简单的脚本,并放入系统 -> 首选项 -> 启动程序。脚本如下。。

/bin/sh #!/bin/sh 复制代码
# 当我的 USB 闪存盘被移除时,脚本会自动锁定和解锁计算机

LSUSB=`lsusb`

如果 [ -z $LSUSB ]; 那么
    echo "未找到 lsusb 命令。退出.. \n"
    56 号出口


尽管 :
    睡眠3
    echo “循环运行”
    # 检查 USB 驱动器

    USB=`lsusb | grep Logitech`

    如果 [ -n "${USB}" ] ; 那么
        echo "USB 设备:找到 Transcend"
        # 查找并终止任何发现的屏幕保护程序。
        gnome 屏幕保护程序命令 --deactivate
        继续

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


完毕

出口 0

相关内容