linux - ioctl 命令的用户权限检查

标签 linux linux-kernel ioctl

我正在实现 char 驱动程序 (Linux),我的驱动程序中有某些 IOCTL 命令,这些命令只能由 ADMIN 执行。

我的问题是如何在我的 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL。

最佳答案

您可以使用 bool capable(int cap) 函数,如果用户请求了能力,该函数返回 truecap 的可能值列在 include/uapi/linux/capability.h 的内核源代码中(宏以 CAP_ 开头)。

如您所见,有许多类似管理员的功能。选择一个似乎更适合你的任务。或者只获取 CAP_SYS_ADMIN

关于linux - ioctl 命令的用户权限检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29891803/

相关文章:

linux - 运行脚本未在 EC2 上显示

linux - shell :文件意外结束

linux - 为什么即使没有/dev/shm shm_open() 也会成功?

linux - 自动暂停进程

c++ - 如何在 Boost.Asio 中使用零拷贝 sendmsg/Receive

linux - 什么是指针的唯一标识 (UID) 编号?

linux - "error: unknown field ‘compat_ioctl’ 在初始化程序中指定“同时创建虚拟 ioctl

linux - 更改linux内核定时器

linux - 使用 ioctl SIOCGIWSCAN 进行 wifi 扫描

c - 如何从 Linux 获取窗口大小