2016-10-13 4 views
0

Apache2 웹 서버를 실행하기 위해 Ubuntu 서버 12.04를 사용하고 있습니다.Apache2 서버가 특정 사용자로 스크립트를 실행합니다.

저는 여러 웹 페이지를 호스팅하고 있으며 대부분 잘 작동합니다.

한 페이지 나 가정 자동화 프로그램 (heyu)를 호출하고, 그러나 대부분 작동하는 CGI 스크립트 (내가 멋지게 html 코드를 구축 아파치 외부에서 작업 파이썬 코드가 있습니다.)

를 실행하고 그것을 반환 다른 대답은 내 사용자 계정에서 실행할 때.

방법 내가 할 수 있는가 ...

1 호출 특정 사용자로 내 파이썬 스크립트의 heyu 프로그램, (나)와 파이썬 코드 혼자 CGI 코드의 나머지 부분을 남겨?

2, 전체적으로 나로 cgi 코드를 실행하도록 apache2를 구성 하시겠습니까? 나는 다른 모든 페이지를 변경하지 않고 그대로두고 싶습니다. 어쩌면 sites_available 부분을 사용하고있을 수도 있습니다.

3, 최소한 어떤 사용자가 cgi 코드를 실행하고 있는지 확인해야합니다. 그러면 heyu가 해당 사용자와 확인 될 수 있습니다.

감사합니다.

+0

# 3의 경우, "from getpass import getuser"를 사용할 수 있어야합니다. – Shadow

+0

감사합니다. 내 스크립트가 사용자 www- 데이터를 사용하고 있다고 판단 할 수있었습니다. 이제는 스크립트를 통해 나를 사용하여 호출을 실행하는쪽으로 작업하십시오. –

+0

답변으로 추가하겠습니다. 도움이된다고 생각되면 그것을 정확하게 표시해주십시오. – Shadow

답변

0

suEXEC을 사용할 수있는 것처럼 보입니다.

정말 아파치 모듈을 사용하고 싶지 않기 때문에 기본적으로 설치되지 않은 아파치 모듈입니다. apt-get 체계를 사용하여 설치할 수 있습니다.

즉, 내 문제에 대한 실질적인 답을 찾았습니다. 헤이는 직렬 포트를 사용하여 작업을 수행합니다. 전화 접속 그룹에 www-data를 추가 한 다음 재부팅해야했습니다.

권한을 적절하게 변경하기 위해 이미 코드를 내 다이얼로 그 그룹에 추가 했으므로 코드를 실행하지 않아도되었습니다.

감사합니다.

0

파이썬을 사용함에 따라 다음과 같이 실행하여 파이썬 스크립트가 실행중인 사용자를 추출 할 수 있습니다.

from getpass import getuser 
print getuser() 

페이지를 명중 할 때, 당신은 스크립트로 실행하는 사용자 이름을 얻을 것이다 - 당신은 거기에서 따라 특정 사용자의 권한을 조정할 수 있습니다.

관련 문제