背景:
串口:不管是做单片机,Linux,还是FPGA开发,都是重要的下载和debug设备。
最近笔者将大部分平台从Windows切换成Ubuntu,使用makefile和cmake开发,效率较高。但是在下载和使用串口调试助手过程中发现都要root运行,这样很不方便
现象:
其实实际操作并不难,只需很简单的操作即可实现非root权限访问//dev/tty***等设备了
我们首先来看一下为什么普通用户没有权限了:
$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 4月 9 12:38 /dev/ttyUSB0
从Terminal的输出很容易看出来/dev/tty*** 的用户是root,所属的组是dialout,并且owner和group都是有相同的rw权限的,但others是没有任何权限的,可以推断我们在安装Ubuntu时,安装时使用的账户并不会默认加入dialout组,因此该用户就没有权限可以访问/dev/tty***设备了。
解决的办法也相对容易
$ who
user_name
$ sudo usermod -a -G dialout user_name
这样重新开机之后,用户“user_name”将会加入dialout组当中,之后我们便可在非root情况下访问/dev/tty***端口了