在Linux中给一个进程赋予CAP_SYS_RAWIO权限是什么意思?

6

在Linux中给一个进程CAP_SYS_RAWIO权限是什么意思?我该如何做到这一点?(具体来说是为了让pyUsb访问设备。这与这个pyusb问题有关)

1个回答

8

来自capabilities(7)手册:

  CAP_SYS_RAWIO
          Perform I/O port  operations  (iopl(2)  and  ioperm(2));  access
          /proc/kcore.

使用setcap(8)命令可以在可执行文件上设置其能力。


请注意,CAP_SYS_RAWIO 可以轻松地被利用来获取 root 权限,因此您最好继续使用 root。 - caf
对于启动尝试访问 USB 的 Python 应用程序,我应该在命令行上设置这些功能吗?(抱歉,这不是我的专业领域) - jedierikb
1
如果 foo 是一个可执行文件,那么 setcap cap_sys_rawio=ep foo 就可以工作,但如果它是一个(Python或其他)脚本,则无法工作。你可以制作自己的包装器或使用 capsh,但正如Ignacio所说,这几乎与以root身份运行相同。 - ephemient
这对USB串行设备也适用吗?(在/dev/serial/*中的那些设备)? - CMCDragonkai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接