让GUEST识别USB设备

1、最简单的办法如下:

复制代码
代码如下:
$ sudo gedit /etc/fstab

在末尾加上

复制代码
代码如下:
# the USB group
# 对所有用户开放USB设备的读写权限
none /proc/bus/usb usbfs devmode=666 0 0

然后就普通用户就可以通过libusb使用USB设备了。

2、但是把USB设备的读写权限开放给所有用户的方式在一些情况下不太安全,更为稳妥的做法是:
(1). 增加用户组usbfs

复制代码
代码如下:
$ sudo groupadd usbfs

(2). 查看usbfs用户组的gid

复制代码
代码如下:
$ cat /etc/group | grep usbfs
usbfs:x:1002:

3. 把当前用户增加到usbfs组

复制代码
代码如下:
$ sudo gedit /etc/group


 
复制代码
代码如下:
usbfs:x:1002:

 修改为
 
复制代码
代码如下:
usbfs:x:1002:joson

4. 为USB设备重新设置权限编辑/etc/fstab文件,添加下面两行,注意你的gid可能不是1002

复制代码
代码如下:
$ sudo gedit /etc/fstab

在末尾加上
 
复制代码
代码如下:
# 1002 is the USB group ID
none /proc/bus/usb usbfs devgid=1002,devmode=664 0 0

5. 重新启动后,应该就可以在客户机中使用USB设备了。
注意:在客户机里使用USB设备前要先在主机里卸载。


在 Linux 中永久修改 USB 设备权限
当你在运行一个会读取或者写入USB设备的进程时,进程的用户/组必须有权限这么做才行。当然你可以手动用chmod命令改变 USB 设备的权限,但是手动的权限改变只是暂时的。USB 设备会在下次重启时恢复它的默认权限。

作为一个永久的方式,你可以创建一个基于 udev 的 USB 权限规则,它可以根据你的选择分配任何权限模式。下面是该如何做。

首先,你需要找出 USB 设备的 vendorID 和 productID。使用lsusb命令。


复制代码
代码如下:
$ lsusb -vvv

上面lsusb的输出中,找出你的 USB 设备,并找出"idVendor"和"idProduct"字段。本例中,我们的结果是idVendor (0x067b)和 idProduct (0x2303)

下面创建一个新的udev规则。


复制代码
代码如下:
$ sudo vi /etc/udev/rules.d/50-myusb.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="users", MODE="0666"

用你自己的"idVendor"和"idProduct"来替换。MODE="0666"表示USB设备的权限。

现在重启电脑并重新加载 udev 规则:


复制代码
代码如下:
$ sudo udevadm control --reload
 
接着验证下 USB 设备的权限。
 

转载请注明出处:http://www.zhongtian365.com/article/20230520/322668.html

随机推荐

  1. Linux系统下的用户审计方法

    创建审计日志目录复制代码代码如下:mkdir -p /var/log/user_audit 创建用户审计日志文件;复制代码代码如下:touch /var/log/user_audit/user_audit.log 将文件赋予低权限用户复制...

  2. linux系统下ubuntu 中截图工具及快捷键设置

      windows 平台上,截图有好几种选择,可以使用windows系统自带的截图工具,360浏览器的截图功能,或者QQ截图,还有键盘上的prt sc 截图键。   在linux系统上怎么截图:   键盘上的截图键还可以用,不过那是截取一...

  3. linux系统下pip升级报错的解决方法

    Pip 安装 1、在python中提供了一个get-pip.py;下面是地址 https://bootstrap.pypa.io/get-pip.py 2、在Linux下执行curl https://bootstrap.pypa.io...

  4. Linux系统下安装jdbc与tomcat的图文教程

    目录一.下载Linux版本的jdbc与tomcat1.1 下载Linux版本的jdbc:1.2下载Linux版本的tomcat二.将下载好的两个压缩包解压2.2把两个包导入到software中,然后解压2.3更改/etc文件夹下的prof...

  5. linux系统下安装dubbo-admin的详细过程

    1.在安装dubbo-admin之前确保你得linux服务器上已经成功安装了jdk,tomcat,  若还没安装jdk以及tomcat则参考我的上一篇文章linux环境下安装jdk,tomcat 2.首先从gitHub官方地址下载dubb...

  6. Linux系统下Tomcat使用80端口的方法

    应用场景 很多情况下,我们在linux服务器上安装了tomcat或者nginx之类的软件. 当我们想用80端口的时候,如果不用root用户启动就会报错. 这是因为,对于linux系统而言,1024以下的端口,普通用户是无法使用的...

  7. Linux系统下安装android sdk的方法步骤

    本文阐述的是如何在Linux系统中安装Android SDK 环境,下面话不多说,来看看详细的介绍吧。 直接下载解压: wget http://dl.google.com/android/android-sdk_r22.0.5-lin...

  8. Linux系统下使用HAProxy配置HTTP负载均衡系统的方法

    如今对基于互联网的应用和服务的要求越来越大,这给广大的IT管理员施加了越来越大的压力。面对突如其来的流量猛增、自生的流量增加或者是内部挑战(比如硬件故障和紧急维护),不管怎样,你的互联网应用都必须保持随时可用。连现代化的开发运营和持续交付...

  9. Linux系统下OpenSSH的安装及基本配置文件详解

    远程安装调试SSH特别注意,OpenSSH卸载后,可能导致凡使用SSH协议连接服务器的工具都无法登陆,比如WINSCP、PUTTY等,如果你正使用远程桌面,最好先开启TELNET并确保开机启动(或其它可替代的远程管理工具也可以),客户端可...

  10. Linux系统下C语言gets函数出现警告问题的解决方法

    发现问题 最近在Linux下编译C语言,用到gets这个函数,代码如下: #include stdio.h #include string.h #include string.h void main(){ char s[100...