1
我知道在shell腳本我可以這樣做:在ruby中調用root權限的函數?
#!/bin/sh
foo() {
rm -rf/
}
foo # fail
sudo foo # succeed
使用Ruby實現這一點,我現在用一個單獨的腳本文件來存儲那些需要root權限的操作,然後在主腳本中調用像system(['sudo', 'ruby', 'sudo_operations.rb', 'do_rm_rf_root'])
。
如果我可以直接調用該函數而不分離出來,情況會好得多。例如,我不知道這樣的事情:
def sudo(&method_needs_root_privilege)
# ...
end
然後,我可以使用,如:
sudo do
puts ENV['UID'] # print 0
system('rm -rf /') # successfully executed
end
是否有任何寶石,可以幫助或實現此任何想法?
在此先感謝。