我正在实现 char 驱动程序 (Linux),我的驱动程序中有某些 IOCTL 命令,这些命令只能由 ADMIN 执行。
我的问题是如何在我的 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL。
最佳答案
您可以使用 bool capable(int cap)
函数,如果用户请求了能力,该函数返回 true。 cap 的可能值列在 include/uapi/linux/capability.h
的内核源代码中(宏以 CAP_ 开头)。
如您所见,有许多类似管理员的功能。选择一个似乎更适合你的任务。或者只获取 CAP_SYS_ADMIN。
关于linux - ioctl 命令的用户权限检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29891803/