独自のスケジューラポリシーがに設定されているプログラムを実行しようとすると、sched_FIFO
次のように誤って表示されます。許可されていない操作。実行するとsudo
成功しますが、必要な権限だけで権限を減らしたいと思います。
権限設定を必要とするこのプログラムを一般ユーザーが実行できるようにするにはどうすればよいですかsched_FIFO
。
答え1
man capabilities
システムコールなどのプロセスにsched_setscheduler()
この機能が必要であることを示しますCAP_SYS_NICE
。プログラムをファイルにコンパイルしたら、以下をmyprogram
使用してこの機能を設定できます。
sudo setcap CAP_SYS_NICE+ep myprogram
その後、ルートなしで実行できます。