2024-05-26 16:26:52 发布
网友
我最近一直在玩弄PyUSB,发现它在Linux上运行得很好(Ubuntu有libusb0.1和1.0,还有OpenUSB)。。。但前提是我使用根权限运行程序(当然是使用sudo)。
sudo
有谁能告诉我为什么它需要提升的权限,更重要的是,如果我可以改变权限,使它为正常用户帐户工作?
libusb允许您以任意方式操作任意USB设备。例如,可以格式化外部USB硬盘。
libusb
一般来说,所有直接的硬件访问都需要root特权,虽然我猜实际上不需要完全的root特权,但是您只需要CAP_SYS_RAWIO就可以了。
root
CAP_SYS_RAWIO
请看我在这里给出的答案:How can I comunicate with this device using pyusb?
即: 为您希望普通用户能够访问的特定设备设置udev规则文件。这将定义供应商id、产品id和组。 可以使用lsusb命令找到供应商和产品id。
lsusb
一。 创建udev规则文件
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="171b", ATTRS{idProduct}=="2001", MODE="660", GROUP="plugdev"
把它放到一个名为(例如)/lib/udev/rules.d/50-YourSoftwareName.rules的文件中(在man udev中查找文件命名规则) 注意:旧的命名约定使用了/etc/udev/rules.d/filename.rules,但已更改。
2。 将用户名添加到plugdev组
adduser username plugdev
三。 强制udev系统查看您的更改
sudo udevadm control --reload(即减去重新加载)sudo udevadm trigger
sudo udevadm control --reload
sudo udevadm trigger
四。 拔下并重新插入设备 或 重新启动计算机
最终结果应该是plugdev组的所有成员现在都可以访问该设备。
编辑: 注意,在某些系统上,组plugdev可能不是您需要的组。根据我的经验,它也可以是组input,这取决于您正在插入的内容。
plugdev
input
您可以通过创建udev规则来更改usb设备节点的权限。 e、 g.I在/etc/udev/rules.d/中的文件中添加了以下行
/etc/udev/rules.d/
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664", GROUP="usbusers"
这将设备节点的所有者设置为root:usbusers,而不是root:root
root:usbusers
root:root
加入usbusers组后,我可以访问设备。
usbusers
libusb
允许您以任意方式操作任意USB设备。例如,可以格式化外部USB硬盘。一般来说,所有直接的硬件访问都需要
root
特权,虽然我猜实际上不需要完全的root
特权,但是您只需要CAP_SYS_RAWIO
就可以了。请看我在这里给出的答案:
How can I comunicate with this device using pyusb?
即:
为您希望普通用户能够访问的特定设备设置udev规则文件。这将定义供应商id、产品id和组。
可以使用
lsusb
命令找到供应商和产品id。一。 创建udev规则文件
把它放到一个名为(例如)/lib/udev/rules.d/50-YourSoftwareName.rules的文件中(在man udev中查找文件命名规则)
注意:旧的命名约定使用了/etc/udev/rules.d/filename.rules,但已更改。
2。 将用户名添加到plugdev组
adduser username plugdev
三。 强制udev系统查看您的更改
sudo udevadm control --reload
(即减去重新加载)sudo udevadm trigger
四。 拔下并重新插入设备 或 重新启动计算机
最终结果应该是plugdev组的所有成员现在都可以访问该设备。
编辑: 注意,在某些系统上,组
plugdev
可能不是您需要的组。根据我的经验,它也可以是组input
,这取决于您正在插入的内容。您可以通过创建udev规则来更改usb设备节点的权限。 e、 g.I在
/etc/udev/rules.d/
中的文件中添加了以下行这将设备节点的所有者设置为
root:usbusers
,而不是root:root
加入
usbusers
组后,我可以访问设备。相关问题 更多 >
编程相关推荐