2011-09-19 2 views
1

사용자가 sudo을 통해 루비 스크립트를 호출하도록 요구하는 것 이외에 일반 사용자로 스크립트를 실행 한 다음 런타임 중 어느 시점에서 루트 암호를 묻는 프롬프트를 표시하여 권한을 루트로 올릴 수 있습니까?Ruby CLI : 루트 암호를 묻는 메시지를 표시하고 루트로 스크립트를 계속 실행 하시겠습니까?

어쩌면 #exec의 행을 따라 현재 명령 앞에 sudo가 붙어 있습니까?

답변

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" 
관련 문제