是否可以在不使用 sudo 的情况下向用户授予特定权限?

是否可以在不使用 sudo 的情况下向用户授予特定权限?

我不会添加sudoRPi 3 B+ 的 Buildroot 环境,因为我只需要apache2使用date -s TIME.

有没有办法在不安装和配置的情况下授予此权限sudo

答案1

我可以想到两种方法来做到这一点。

对于两者,您都需要编写和编译一个程序来完成您想要的工作(例如调用stime(2))。你不能直接打电话date

并且您需要一个只有运行 apache2 ( www-data?) 的用户所在的组。在这两种情况下,我们都将执行程序的能力限制在指定的组中,因此其他人都无法运行它。

选项 1:使其成为 setuid root

chown root.thegroup yourprogram
chmod 4710 yourprogram

现在只有组内的人才能执行该程序,并且它以有效root身份运行。

选项 2:使用功能

chown root.thegroup yourprogram
chmod 710 yourprogram
setcap cap_sys_time=pe yourprogram

这将授予您的程序调用 settimeofday(2)、stime(2) 和 adjtimex(2) 的权限,而无需 root 权限。

sudo解决方案是最简单的...

相关内容