在 Linux 中永久修改 USB 裝置許可權

2021-09-08 18:11:17 字數 1384 閱讀 2304

問題

當我嘗試在 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的輸出中,找出你的 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=="067b", attrs=="2303", group="users", mode="0666"

$ sudo udevadm control --reload
驗證下 usb 裝置的許可權:

免費提供最新linux技術教程書籍,為開源技術愛好者努力做得更多更好:

如何在Linux中永久修改USB裝置許可權

提問 當我嘗試在 linux 中執行 usb gps 接收器時我遇到了下面來自 gpsd 的錯誤。gpsd 377 gpsd error read only device open failed permission denied gpsd 377 gpsd error dev ttyusb0 de...

Linux中永久修改ulimit的值

1 etc security limits.conf 中增加這些 plat soft core 65536 plat hard core 65536 plat soft nofile 1048576 plat hard nofile 1048576 plat soft stack 262144 pl...

Linux永久修改系統時間

在開發的或測試的時候,如果linux系統時間和windows系統時間不一致,而又沒有注意到是一件很令人抓狂的事。假如執行定時,時間明明到了定時卻沒有執行,首先考慮的是程式出錯了。於是開始找錯,找了好久也沒有發現錯誤。無意間發現時間對不上,這就尷尬了。這種方式只是臨時修改系統時間,當系統重新啟動的時候...