Skip to main content
1 of 3
Vladimir T.
  • 51
  • 1
  • 1
  • 3

Why sudo user can use sched_setscheduler SCHED_RR while root can not?

I am running ArchLinux on a Raspberry Pi 2.

I have a user-space program that uses Gordon's wiringPi library and, in particular, the piHiPri() function that attempts to set the highest priority for the current process (using sched_setscheduler and SCHED_RR mode).

This function needs Super-User priviledges.

Root user is the default one when installing ArchLinux so I created a user named builder that I added to sudoers thanks to visudo.

My problem is:

When I execute the program with root user the sched_setscheduler function returns Operation not permitted (getting it from errno).

If I execute it while being builder I get a permission denied.

However if I execute it with sudo myProgram while being builder everything is fine and I can see that priority has changed with top command.

I thought that root user might not have UID 0 so I checked with id -u root but this returns 0.

ls -l myProgramm gives -rwxr-xr-x 1 root root. I also tried to set SUID with chmod +s myProgramm without success.

Any idea on how to make my program executable by root?

Thanks !

Vladimir T.
  • 51
  • 1
  • 1
  • 3