【发布时间】:2013-08-04 23:26:49
【问题描述】:
我是根用户。我想在以 root 模式登录后为所有用户自动运行脚本。我确实找到了为所有用户自动运行脚本的方法。但是对于普通用户,权限被拒绝。有什么解决方法吗?
【问题讨论】:
我是根用户。我想在以 root 模式登录后为所有用户自动运行脚本。我确实找到了为所有用户自动运行脚本的方法。但是对于普通用户,权限被拒绝。有什么解决方法吗?
【问题讨论】:
您应该使用sudo - 您的命令在 root 模式下可用,无需用户或组的密码
Cmnd_Alias YCMD = /usr/local/somecommand
username ALL=YCMD, NOPASSWD: YCMD
【讨论】:
确保脚本归root所有,然后尝试设置setuid:
# chown root:root script.sh
# chmod +s script.sh
# exit
$ ./script.sh (executed as a normal user, but will have root mode)
setuid 权限使可执行文件以所有者(在本例中为 root)的权限执行。
但要小心!您可能会打开一个可被滥用以获取根的漏洞。 (但您尝试由用户在 root 模式下运行脚本的任何其他解决方案都将提供相同的风险。此解决方案并不像其他解决方案那样更容易受到攻击)
【讨论】:
script.sh替换为您的实际脚本