자체 스케줄러 정책이 으로 설정된 프로그램을 실행하려고 하는데 sched_FIFO
다음과 같이 잘못 표시됩니다.허용되지 않는 작업. 실행하면 sudo
성공하지만 필요한 권한으로만 권한을 줄이고 싶습니다.
권한 설정이 필요한 이 프로그램을 일반 사용자가 실행할 수 있도록 하려면 어떻게 해야 합니까 sched_FIFO
?
답변1
man capabilities
시스템 호출과 같은 프로세스에 sched_setscheduler()
이 기능이 필요함 을 나타냅니다 CAP_SYS_NICE
. 프로그램을 파일로 컴파일한 후 다음 myprogram
을 사용하여 이 기능을 설정할 수 있습니다.
sudo setcap CAP_SYS_NICE+ep myprogram
그런 다음 루트 없이 실행할 수 있습니다.