如何设置 busybox 以允许非 root 用户设置日期?

如何设置 busybox 以允许非 root 用户设置日期?

我有一个用繁忙的盒子构建的嵌入式系统。我允许名为“app”的用户将程序/脚本下载到目录,它将在启动时运行。

应允许程序设置日期。它以“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

答案1

如果您有“suid”版本的busybox,您可以尝试让date命令以 root 身份执行,如下所示:

文件/etc/busybox.conf

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

相关内容