Hi,
I need to edit the system time as a not-root user. I am carrying out the following actions in my program.
1. Read the User Id of the process. User_ID= getuid()
2. Printing Capabilities(Permitted, Efffective, Inheritable)of the process
3. Setting UID = 0, using setuid(0)
4. Calling the prctl(), function to keep capabilities
5.Switching the UID from root to User_ID of the process
6. What we have now is a process with root capabilities as a non root user
7. On printing Permitted, Effective, Inheritable capabilities, I get the following
--> Permitted = 0xfffffeff = Effective
Inheritable = 0x0; with UID = 1001;
8. I then try and set the system time with --> system("date -s 10:00");
9. I get an error: date: cannot set date: Operation not permitted
10. I am unable to understand as to why I cannot set the time even thought the capability bit CAP_SYS_TIME in the Permitted and Effective sets are SET.
Regards