Linuxでシリアルポートにrootで書き込みできないとき
いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
■シリアルポートのアクセス権の確認と変更
シリアルポートのアクセス権はグループ"dialaout"に所属するユーザーです。
$ sudo ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 10月 15 19:06 /dev/ttyUSB0
root.dialoutにアクセス権があります。
rootも例外ではなく、このままではシリアルポートにrootユーザーで書き込みができません。
デフォルトインストール時のユーザー"root"はグループ"root"に属しています。
$ sudo id -a
uid=0(root) gid=0(root) groups=0(root)
rootユーザーにグループ"dialout"を追加します。
$ sudo gpasswd -a root dialout
rootの所属グループを確認します。
$ sudo id -a
uid=0(root) gid=0(root) groups=0(root),20(dialout)
これで、rootでシリアルポートに書き込むことができます。
$ sudo echo -e "\$PSRF103,5,0,1,1*20\r\n" > /dev/ttyUSB0
同じ要領で、一般ユーザーにグループ"dialout"を追加してシリアルポートを使うことができるようになります。