除了要求用户通过sudo
调用ruby脚本之外,是否有办法以常规用户身份开始运行脚本,然后在运行时的某个时刻,通过提示用户将权限提升为root权限他们的root密码?
使用以sudo为前缀的当前命令可能是#exec
的某些内容?
答案 0 :(得分:2)
这很有效。它只是使用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"