私はシェルスクリプトでこれを行うことができることを知っています:
#!/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
これを実装するのに役立つ宝石やアイデアはありますか?
前もって感謝します。