【问题标题】:Linux device driver: how to assign group/user permission and use it?Linux设备驱动程序:如何分配组/用户权限并使用它?
【发布时间】:2012-08-05 03:47:14
【问题描述】:

我知道我们可以使用 udev 配置脚本为设备驱动程序分配权限以在根/组/用户模式下运行,但我不确定如何运行在 Android HAL 中使用驱动程序以在特定用户模式下运行的程序?只有在 /dev/ttyOx 上执行 chmod 777 后才能执行程序。

我在 Android 脚本中的 udev 配置中看到蓝牙模块使用这样的

chmod 0660 /dev/ttyO1 chown system system /dev/ttyS0

我的问题是,如何在上述脚本中将使用特定驱动程序的程序注册到特定组或用户权限(例如蓝牙),并仅使该特定程序使用设备驱动程序?

【问题讨论】:

  • 同样的问题,你找到解决办法了吗?现在每次加载内核时我都必须手动将设备驱动程序chmod为777,太烦人了....

标签: linux-kernel linux-device-driver android-hardware


【解决方案1】:

免责声明:: 我不是 Android 程序员。我只使用 Linux 内核。

但我仍然相信,驱动程序只能由特权用户加载到内核中。即超级用户/root。

/dev/ttyO1/dev/ttyS0 只是设备文件。这将由用户空间应用程序打开。因此可以设置这些设备文件的权限。

无法将特定驱动程序分配给特定组/用户。所有驱动程序都是 LKM(可加载内核模块),即插入内核。

内核以特权模式运行。用户没有直接与内核打交道。它受空间(用户空间/内核空间)的限制。

在脚本中,您可以检查当前用户并决定是否允许加载蓝牙驱动程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 2023-03-02
    • 1970-01-01
    相关资源
    最近更新 更多