我对Linux开发很陌生,并且在权限方面遇到了一些问题。让我们详细解释一下:我正在使用Mono创建将访问串行端口的程序,当我尝试打开串行端口(虚拟COM USB串行)时,我遇到了一个例外,说访问受到限制。

当然,使用“ sudo chmod 777 / dev / ttyUSB0”可以轻松解决此问题,但是我认为这不是标准过程。
由于我打算将应用程序作为开源分发,因此我希望避免给用户带来麻烦,因此有没有办法使任何可能的端口自动实现此目的?也许在某个地方定义小偷?这与创建可分发包有关吗?
我已经使用了一些终端程序,这些程序可以访问任何串行端口而无需征求许可,所以我很确定有办法做到这一点。

仅供参考,我使用USB到串行转换器,因此端口可以更改(不是固定的)。我的是ttyUSB0。

拜托,拜托,拜托,拜托,如果有人能给我有关如何处理这类事情的任何线索,我将不胜感激。

提前非常感谢您。



尽管很久以前就问过这个问题,但我还是要写答案
我的问题:@sawdust提出的问题是我不属于拨出组。因此,将当前用户添加到拨出组即可解决该问题,之后我可以访问串行端口。

最佳答案

也许您可以在整个会话中使用超级用户特权:
在执行任何操作之前,请键入id-输出是您当前登录时使用的用户和用户组。

现在使用以下命令:

须藤bash

回复可能是密码请求,请输入密码,现在您应该以超级用户身份登录。

要进行验证,请再次输入id,现在您的用户以及用户组应为0。

现在查看是否可以打开虚拟端口。

关于c# - Linux开发中对资源的权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30598806/

10-16 10:10