1
除了要求用户通过sudo
调用ruby脚本之外,是否有一种方法可以像普通用户一样开始运行脚本,然后在运行时的某个时刻,通过提示用户输入root密码来提升权限以root权限?Ruby CLI:提示输入root密码并以root身份继续执行脚本?
也许沿着#exec
使用当前命令前缀sudo?
除了要求用户通过sudo
调用ruby脚本之外,是否有一种方法可以像普通用户一样开始运行脚本,然后在运行时的某个时刻,通过提示用户输入root密码来提升权限以root权限?Ruby CLI:提示输入root密码并以root身份继续执行脚本?
也许沿着#exec
使用当前命令前缀sudo?
This Works。它只是使用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"