3

I have an embedded system built with busy box. I allow a user named "app" to download a program/script to a directory and it will be run on boot.

The program should be allowed to set the date. It is run as 'app' user.

How do I set busybox to allow the non-root user 'app' to set the date? I have tried to add the suid permission:chmod u+s /bin/busybox.nosuid But it doesn't work. Also busybox is very anemic on why there is nosuid and suid versions, but apparently they've been compiled with different apps in them. There is no 'sudo' on the system.

root# which date
/bin/date
root# ls -l /bin/date
lrwxrwxrwx    1 root     root            19 Apr 22  2016 /bin/date -> /bin/busybox.nosuid
root# ls -l /bin/busybox.nosuid
-rwsr-xr-x    1 root     root            14 Apr 22  2016 /bin/busybox.nosuid
root# date
Thu Jan 15 03:43:24 CET 1970
root# date -s 10:30
Thu Jan 15 10:30:00 CET 1970
root# date
Thu Jan 15 10:30:01 CET 1970
root# su app
app$ date
Thu Jan 15 10:30:10 CET 1970
app$ date -s 11:00
date: can't set date: Operation not permitted
Thu Jan 15 11:00:00 CET 1970
app$ date
Thu Jan 15 10:30:21 CET 1970
6

If you have the "suid" version of busybox, you could try to make the date command execute as root like this:

File /etc/busybox.conf:

...
[SUID]
date = ssx root.root
...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.