Linux

讀/寫到沒有根的串口?

  • March 12, 2021

我正在編寫一個應用程序來讀取/寫入 Fedora14 中的串列埠,當我以 root 身份執行它時效果很好。但是當我以普通使用者身份執行它時,我無法獲得訪問設備(/dev/ttySx)所需的權限。這有點糟糕,因為現在我實際上無法使用 Eclipse 調試該死的東西。

我試過用 sudo 執行 Eclipse,但它破壞了我的工作區,我什至無法打開項目。所以我想知道是否可以降低寫入 /dev/ttySx 的訪問要求,以便任何普通使用者都可以訪問它。這可能嗎?

訪問串列埠的權限由設備文件的權限決定(例如/dev/ttyS0)。因此,您需要做的就是安排設備歸您所有,或者(更好)將自己置於擁有設備的組中,或者(如果 Fedora 支持它,我認為確實如此)安排設備屬於在控制台上登錄的使用者。

例如,在我的系統(不是 Fedora)上,/dev/ttyS0由使用者root和組擁有dialout,所以為了能夠訪問串列設備,我將自己添加到dialout組中:

usermod -a -G dialout MY_USER_NAME

引用自:https://unix.stackexchange.com/questions/14354