Root

如何設置busybox以允許非root使用者設置日期?

  • April 26, 2016

我有一個用忙盒建構的嵌入式系統。我允許名為“app”的使用者將程序/腳本下載到目錄,它將在啟動時執行。

應該允許程序設置日期。它以“應用程序”使用者身份執行。

如何設置busybox以允許非root使用者’app’設置日期?我曾嘗試添加 suid 權限:chmod u+s /bin/busybox.nosuid 但它不起作用。此外,busybox 對為什麼有 nosuid 和 suid 版本也很乏味,但顯然它們是用不同的應用程序編譯的。系統上沒有“sudo”。

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

如果您有“suid”版本busybox,您可以嘗試讓date命令以 root 身份執行,如下所示:

文件/etc/busybox.conf

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

引用自:https://unix.stackexchange.com/questions/279223