Linux中设备节点访问权限

发布于 2024-12-01 15:52:22 字数 191 浏览 4 评论 0原文

我正在为嵌入式android 编写一个字符设备驱动程序。 device模块,将自身注册为char设备,并在/dev下创建对应的设备节点。问题是该设备的访问权限是root权限,我无法从android应用程序(JNI)读取它。在运行应用程序之前,我必须手动 chmod +r 设备。如何决定动态创建的设备节点的访问权限?

I'm writing a char device driver for embedded android.
The device module, register itself as a char device, and a corresponding device node is created under /dev. The problem is that the access permissions for this device is for root, and I can't read it from android applications (JNI). I have to manually chmod +r the device before running the application. How can I decide the access permission of a dynamically created device node ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

顾忌 2024-12-08 15:52:22

如果您的设备使用 udev 自行注册(这是最有可能的情况),那么您可以创建自定义 udev 规则来管理此设备上的权限

例如,此规则将 rw-rw-rw- 权限分配给属于 USB 供应商 0bb4 的设备:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" 

If your device registers itself using udev, which is the most likely case, then you can create a custom udev rule to manage the permissions on this device.

For example, this rule assigns rw-rw-rw- permissions to a device belonging to the USB vendor 0bb4:

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文