it-swarm.cn

读/写到没有根的串行端口?

我正在编写一个应用程序以从Fedora14中的一个串行端口读/写,并且当我以root身份运行它时,它的工作效果很好。但是,当我以普通用户身份运行它时,我无法获得访问设备(/ dev/ttySx)所需的特权。这有点糟糕,因为现在我实际上无法使用Eclipse调试该死的东西。

我尝试使用Sudo运行Eclipse,但是它破坏了我的工作空间,甚至无法打开项目。因此,我想知道是否有可能降低写入/ dev/ttySx的访问要求,以便任何普通用户都可以访问它。这可能吗?

34
iegod

存取串口的权限取决于设备文件的权限(例如/dev/ttyS0)。因此,您所需要做的就是安排设备归您所有,或者(更好)将自己放入拥有设备的组中,或者(如果我认为是Fedora支持的话)安排设备属于在控制台上登录的用户。

例如,在我的系统(不是Fedora)上,/dev/ttyS0由用户root和组dialout拥有,因此为了能够访问串行设备,我将自己添加到dialout组:

usermod -a -G dialout MY_USER_NAME
50

许多发行版使用组成员身份来启用对串行端口的访问。不过,我不知道有关Fedora的详细信息。

0
geekosaur

我认为您可以将自己添加到sudoers文件中,该文件将允许您指定一组命令作为命令别名,您无需密码即可执行该命令。您可以在 buntu docs 中找到有关sudoers文件的出色教程。

然后,您可以正常运行Eclipse,并且无需root权限就可以执行那些特定的命令。

0
Deepak Mittal