Linux开发中的资源权限

本文关键字:资源 权限 开发 Linux | 更新日期: 2023-09-27 17:52:34

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

当然,有一个简单的修复这个使用"sudo chmod 777/dev/ttyUSB0",但我不认为这是标准的过程。由于我计划将应用程序作为开源分发,因此我希望避免给用户带来麻烦,那么是否有任何方法可以使任何可能的端口自动执行此操作?也许在某个地方定义政策?这与创建可分发包有关吗?我使用过一些终端程序,它们可以访问任何串行端口而不需要请求权限,所以我很确定有一种方法可以做到这一点。

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

拜托,拜托,拜托,拜托,如果有人能给我一些关于如何处理这类事情的提示,我将非常感激。

提前谢谢你。

解决方案

尽管这是很久以前的问题,我还是想写下答案我的问题:正如@sawdust所建议的,问题是我不属于拨号组。因此,将当前用户添加到dialout组可以解决问题,之后我可以访问串行端口。

Linux开发中的资源权限

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

现在使用以下命令:

sudo bash

回复可能是一个密码请求,输入你的密码,现在你应该作为超级用户登录。

要验证,再次键入id,现在您的用户和用户组应该是0。

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