2011-04-26 3 views
1

gem을 사용하여 Ruby 데몬을 실행하려고합니다.Ruby 데몬을 특정 사용자로 실행하려면 어떻게해야합니까?

사용자 'joe'로 시작되지만 악용되면 'www-data'로 변경해야 작업 할 파일에 액세스 할 수 있습니다.

나는 데몬이 응용 프로그램 클래스 change_privilege 방법이 표시되지만,이 코드 주위를 사용하는 방법을 알아낼 수 없습니다 : 이것은이다대로 www-data으로 실행되어서는 안

require 'daemons' 
Daemons.run(
    File.join(File.dirname(__FILE__), 'worker.rb'), 
    { 
    :backtrace => true, 
    :log_output => true, 
    :dir_mode => :script, 
    :log_dir => '/tmp', 
    :monitor => true 
    } 
) 
+0

FYI. 사용자 "joe"가 시작한 프로세스는 사용자 ID가 "www-data"로 변경 될 수 없습니다. 루트 사용자가 시작해야합니다. – Doon

+0

당신이 맞습니다, 조는 단지 예일뿐입니다 :) – Val

+0

내가 정상적으로 처리하는 방법은 사용자가 OS 기능을 시작 스크립트에서 setuid하는 것입니다. 유효 ID를 신과 같은 것으로 설정하십시오. – Doon

답변

0

특정 사용자를 아파치로 보냅니다. 그러나 이러한 파일에 액세스 할 수있는 www 사용자 그룹에 "joe"를 추가해야합니다.

+0

굉장, 고마워 마이크! – Val