我正在尝试运行一个将其自己的调度程序策略设置为 的程序sched_FIFO
,但它错误地显示不允许操作。如果我运行它,sudo
那么它会成功,但我想将其拥有的权限减少到仅需要的权限。
我怎样才能让普通用户能够运行这个需要权限设置的程序sched_FIFO
?
答案1
man capabilities
表明对于系统调用之类的sched_setscheduler()
进程需要这种CAP_SYS_NICE
能力。将程序编译成文件后,myprogram
您可以使用以下命令设置此功能:
sudo setcap CAP_SYS_NICE+ep myprogram
然后无需 root 即可运行它。