我正在实现char驱动程序(Linux),并且我的驱动程序中存在某些IOCTL命令,这些命令只需要由ADMIN执行.
我的问题是如何检查我的ioctl命令实现下的用户权限,并限制非特权用户访问IOCTL.
解决方法:
您可以使用bool able(int cap)函数,如果用户具有请求的功能,则返回true. cap的可能值列在include / uapi / linux / capability.h中的内核源代码中(以CAP_开头的宏).
如您所见,有许多类似管理员的功能.选择一个看起来更适合你的任务.或者只需要CAP_SYS_ADMIN.