最典型的情况是要实现一个通过web界面重启系统的功能,通常为了安全会以非root用户身份(通常是nobody)运行服务端脚本,这样脚本中就不能执行危险操作了。
下面的c工具程序可以允许任意用户执行需要root权限的命令:
编译:
gcc -g as_root.c -o as_root
配置:
chown root:root ./as_root; chmod 4755 ./as_root
运行:
sudo -u "nobody" ./as_root "reboot"
最典型的情况是要实现一个通过web界面重启系统的功能,通常为了安全会以非root用户身份(通常是nobody)运行服务端脚本,这样脚本中就不能执行危险操作了。
下面的c工具程序可以允许任意用户执行需要root权限的命令:
编译:
gcc -g as_root.c -o as_root
配置:
chown root:root ./as_root; chmod 4755 ./as_root
运行:
sudo -u "nobody" ./as_root "reboot"