Linux kernel Linux设备驱动程序:如何分配组/用户权限并使用它?

Linux kernel Linux设备驱动程序:如何分配组/用户权限并使用它?,linux-kernel,linux-device-driver,android-hardware,Linux Kernel,Linux Device Driver,Android Hardware,我知道我们可以使用udev配置脚本为设备驱动程序分配在root/group/user模式下运行的权限,但我不确定如何运行在Android HAL中使用驱动程序在特定用户模式下运行的程序?我只能在/dev/ttyOx上执行chmod 777之后才能执行程序 我在Android脚本中的udev配置中看到了蓝牙模块 chmod 0660/dev/ttyO1 chown系统/dev/ttyS0 我的问题是,使用特定驱动程序的程序如何才能在上述脚本中注册到特定组或用户权限(如蓝牙),并仅使该特定程序使用设

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

我在Android脚本中的udev配置中看到了蓝牙模块

chmod 0660/dev/ttyO1 chown系统/dev/ttyS0


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

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

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

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

无法将特定的驱动程序分配给特定的组/用户。所有驱动程序都是LKMLoadable内核模块,即插入到内核中

内核以特权模式运行。用户不能直接处理内核。它受到spaceUser空间/内核空间的限制


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

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