在 Linux 中永久修改 USB 设备权限

问题

当我尝试在 Linux 中运行 USB GPS 接收器时我遇到了下面来自 gpsd 的错误。看上去 gpsd 没有权限访问 USB 设备(/dev/ttyUSB0)。我该如何永久修改它在Linux上的权限?

1.	gpsd[377]: gpsd:ERROR: read-only device open failed:Permission denied
2.	gpsd[377]: gpsd:ERROR:/dev/ttyUSB0: device activation failed.
3.	gpsd[377]: gpsd:ERROR: device open failed:Permission denied - retrying read-only

解决方案

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

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

1. 使用lsusb命令找出 USB 设备的 vendorID 和 productID

$ lsusb -vvv

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

2. 创建一个新的udev规则

$ sudovi/etc/udev/rules.d/50-myusb.rules

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

SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="users", MODE="0666"

3. 重启电脑或重新加载 udev 规则

$ sudo udevadm control --reload

验证下 USB 设备的权限:

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

时间: 2024-10-29 05:01:19

在 Linux 中永久修改 USB 设备权限的相关文章

攻城狮在路上(叁)Linux(二十三)--- linux磁盘参数修改(设备代码、设备名)

一.mknod:设置设备代码 linux中,所有的设备都是用文件来表示,文件通过major与minor数值来判断. major为主设备代码,minor为设备代码(需要查询),示例如下: /dev/hda ---------major:3------minor:0~63 /dev/hdb----------major:3------minor:64~127 /dev/sda----------major:8------minor:0~15 ... 命令格式:mknod 设备名 [bcp] [maj

Linux下永久修改MAC地址和ifconfig命令总结

1. 固定一个MAC地址,特别是在使用多个虚拟机的时候 linux环境下: 用root身份登录,在/etc/rc.d/rc.local里加上这三句 ifconfig eth0 down ifconfig eth0 hw ether 00:0C:18:EF:FF:ED ifconfig eth0 up 这样重新reboot后就不怕MAC复原了. 2. ifconfig命令(转载http://www.cnblogs.com/taobataoma/archive/2007/12/27/1016689.

linux下如何修改文件的权限chmod

linux下如何修改文件的权限chmod 方法一.文字设定法 u 表示“用户(user)”,即文件或目录的所有者.g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户.o 表示“其他(others)用户”.a 表示“所有(all)用户”.它是系统默认值. 可以连贯操作u-r-x操作u所有者权限chmod u+r bb 为件bb 所有者增加r读的权限 chmod u-r-x bb 消除bb文件的r w 权限 操作g所属组的权限chmod g+r+w bb 为bb文件夹增加文件所属

linux中如何修改文件夹的用户权限 chown命令

linux中,可以使用chown命令来修改文件夹的用户权限. 1.  以普通用户 A 登录linux,利用su -切换到root用户 2. 在root用户下,可以看到文件夹内容 3. 但通过文件系统,却无法打开 git 文件夹 提示无法显示远程文件夹(应该是权限不够) 这是因为,以普通用户 A 在命令行内切换到root用户后,文件系统的权限还是普通用户的权限,此时就需要修改文件夹的用户权限. 4.切换到文件夹所在的目录,使用chown命令,即可修改权限.(如果文件夹内还包含文件夹,那可以对cho

linux下虚拟机virtualbox USB设备设置

1.装好virtualbox以及扩展包后,系统将自动生成vboxusers的用户组,将自己的用户名添加到bvoxusers组,否则无法使用vbox. sudo usermod -G vboxusers your_user_name 2.使用USB设备: 在Virtualbox虚拟机配置面板中打开USB设备选项,分别勾选上“启动USB控制器”“启用usb2.0控制器”选项. 1.最简单的办法如下:$ sudo gedit /etc/fstab在末尾加上# the USB group# 对所有用户开

linux中用户、组、权限的简述

一.用户和组的简单介绍 在linux 中每个用户必须属于一个组,而Linux下有三种组的概念,如下:     owner (文件所属人)     group (用户所在组)     other  (其他组)   文件所属人: 就是文件的创造者,谁创建的文件,谁就是文件的所有者. 可通过      cat /etc/passwd 可以查看root下的所有用户,包括系统用户和普通用户 具体解释为:  用户名: 密码位: 用户id: 组id: 描述位: 家目录: shell 用户所在组: 当Linux

Linux中用户,组及权限的概念及相关命令

Linux的用户.组和权限管理 用户: 计算机的资源是有限的,但使用者有很多,为了能够实现这些使用者彼此之间在资源上进行隔离而保证各使用者的文件得到保护,并且我们让主机能够认定这个使用者的确是他所声称的那个使用者,所以我们必须要在整个系统上完成两种机制,1.认证机制Authertication,2.授权机制Authorization,3审计机制 Audition. 用户类别: 管理员用户:root 普通用户:分系统用户和登录用户两种 用户的标识:UserID,UID,范围16bits的二进制数字

Linux中文件和目录的权限关系

最近一直在学习linux,对文件和目录的权限有了新的认识,感觉想要理清楚还是需要花点心思的. 注意:1.以下的情况只针对文件或目录的所有者(u)来说:2.只针对ext4文件系统 在了解之前先说一下新建.删除.修改文件在系统底层是如何运行的.磁盘分两部分来存放文件的,其中一部分存放的是文件的属性(元数据)比如:文件大小.修改日期.权限等,另一部分才是数据内容.当新建一个文件时会对应创建它的元数据,还会给文件分配一个节点号(inode).当要查找这个文件时,是先找到对应的节点号,再通过节点表去数据存

linux中用户、组和权限相关指令

用户.组.权限 权限: r, w, x 文件: r:可读,可以使用类似cat等命令查看文件内容: w:可写,可以编辑或删除此文件: x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行: 目录: r: 可以对此目录执行ls以列出内部的所有文件: w: 可以在此目录创建文件: x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息: rwx: r--:只读 r-x:读和执行 ---:无权限 0 000 ---:无权限 1 001 --x: 执行 2 010