在Linux上配置libusb權限通常涉及到用戶權限管理和設備文件權限的設置。以下是一些常見的方法來配置libusb權限:
臨時修改權限:使用chmod
命令臨時修改USB設備的權限,例如:
sudo chmod 666 /dev/bus/usb
永久修改權限:通過創建一個基于udev
的USB權限規則,可以永久地修改USB設備的權限。首先,使用lsusb
命令找出USB設備的vendorID
和productID
,然后創建一個新的udev
規則文件,例如:
sudo vi /etc/udev/rules.d/50-myusb.rules
在文件中添加以下內容,用實際的vendorID
和productID
替換示例中的值:
SUBSYSTEM=="usb", ATTR{idVendor}=="067b", ATTR{idProduct}=="2303", GROUP="users", MODE="0666"
保存文件后,重新加載udev
規則:
sudo udevadm control --reload-rules && sudo udevadm trigger
創建用戶組:如果用戶需要訪問USB設備,但不希望給所有用戶這樣的權限,可以創建一個新的用戶組,例如usbfs
:
sudo groupadd usbfs
添加用戶到組:將需要訪問USB設備的用戶添加到新創建的用戶組中:
sudo usermod -aG usbfs username
修改設備文件組:將USB設備文件的所有者更改為新創建的用戶組:
sudo chown :usbfs /dev/bus/usb
重新加載udev規則:如前所述,重新加載udev
規則以應用更改。
如果用戶需要以root權限運行程序來訪問USB設備,可以配置sudo
以允許用戶無需每次都輸入密碼:
sudo visudo
在/etc/sudoers
文件中添加以下行,允許用戶username
使用sudo
訪問USB設備:
username ALL=(ALL) NOPASSWD: /usr/bin/usb*
保存文件并退出編輯器。現在,用戶可以使用sudo
運行需要root權限的USB訪問程序,而無需每次都輸入密碼。
通過上述方法,可以根據具體需求配置libusb權限,確保系統的安全性和USB設備的正確訪問。