我对 Linux 开发很陌生,并且在权限方面遇到了一些问题。让我们详细解释一下:我正在使用 Mono 创建一个将访问串行端口的程序,当我尝试打开一个串行端口(虚拟 COM USB 串行)时,我得到一个异常说访问受到限制。
当然,使用“sudo chmod 777 /dev/ttyUSB0”可以轻松解决此问题,但我不认为这是标准程序。由于我打算将应用程序作为开源分发,我想避免给用户带来麻烦,所以有没有办法让任何可能的端口自动执行此操作?也许在某处定义策略?这与创建可分发包有关吗?我使用了一些终端程序,它们可以访问任何串行端口而无需请求权限,所以我很确定有办法做到这一点。
仅供参考,我使用的是 USB 转串口转换器,因此端口可以更改(不固定);我的是ttyUSB0。
请,请,请,请,如果有人能给我任何关于如何处理这些事情的线索,我将不胜感激。
非常感谢您提前。
解决方案
尽管很久以前有人问过这个问题,但我想写下我的问题的答案:正如@sawdust 所建议的那样,问题是我不属于拨出组。因此,将当前用户添加到拨出组可以解决问题,之后我可以访问串行端口。