【发布时间】:2011-09-19 01:51:29
【问题描述】:
除了要求用户通过sudo 调用 ruby 脚本之外,还有其他方法可以以普通用户身份开始运行脚本,然后在运行时的某个时间点,通过提示用户输入他们的权限来提升权限到 root根密码?
使用以 sudo 为前缀的当前命令可能类似于 #exec 的内容?
【问题讨论】:
除了要求用户通过sudo 调用 ruby 脚本之外,还有其他方法可以以普通用户身份开始运行脚本,然后在运行时的某个时间点,通过提示用户输入他们的权限来提升权限到 root根密码?
使用以 sudo 为前缀的当前命令可能类似于 #exec 的内容?
【问题讨论】:
这行得通。它只是使用 exec 再次调用自己(在这种情况下为test_script)。但要非常小心,以确保它不会通过添加将调用exit 的条件无限运行。
#!/usr/bin/env ruby
if ARGV[0] == "--second"
puts "...called again and exiting."
exit
end
puts "Calling self again..."
exec "sudo ./test_script --second"
【讨论】: