Linux中设备节点访问权限
我正在为嵌入式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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您的设备使用 udev 自行注册(这是最有可能的情况),那么您可以创建自定义 udev 规则来管理此设备上的权限。
例如,此规则将 rw-rw-rw- 权限分配给属于 USB 供应商 0bb4 的设备:
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: