linux下允许普通用户执行需要root权限的命令

最典型的情况是要实现一个通过web界面重启系统的功能,通常为了安全会以非root用户身份(通常是nobody)运行服务端脚本,这样脚本中就不能执行危险操作了。

下面的c工具程序可以允许任意用户执行需要root权限的命令:

as_root.c

编译:

gcc -g as_root.c -o as_root

配置:

chown root:root ./as_root; chmod 4755 ./as_root

运行:

sudo -u "nobody" ./as_root "reboot"

参考:如何在普通用户下执行一些需要root用户执行的命令