2010-11-30 2 views
5

DreamHost 공유 호스팅에서 htpasswd를 설정 중이지만 Apache에 파일을 읽을 수있는 권한이 없습니다. 허가하려면 어떻게해야합니까? 안전하지 않은 권한을 부여하는 대신 .htpasswd 파일의 소유자 또는 그룹을 변경하려고합니다. httpd.conf 파일에 액세스 할 수 없다고 생각하여 find what user Apache runs as에이 방법을 사용할 수 없습니다. 또한 top 또는 ps aux을 실행하면 실행중인 프로세스 만 표시되지만 아파치 프로세스는 표시되지 않습니다.Apache가 실행중인 사용자 및 그룹을 파악하는 방법은 무엇입니까?

cat /etc/passwdcat /etc/group의 출력을 기준으로 볼 때 www-data이라고 생각합니다.

글쎄, 나는 Password-protecting directories on Dreamhost에 대한 지침을 따랐다. 그룹 dhapache 및 사용 권한 440을 가진 .htpasswd 파일이있는 디렉토리가 생성되었습니다. 또한 내 그룹 아래에 .htaccess 파일이 있습니다. 웬일인지 chgrp dhapache test_file.txt에 나는 chgrp: changing group of 'test_file.txt': Operation not permitted가된다. 그래서, 나는 방금 DreamHost가 생성 한 .htpasswd 파일을 내가 원하는 곳으로 옮겨서 그것의 경고에도 불구하고 생성 된 .htaccess 파일을 편집했습니다.

+0

예, 일반적으로 "www-data : www-data"입니다. –

답변

10

사실, 당신은 httpd.conf 파일에 대한 액세스를 필요가 없습니다

ps aux | grep apache2 
groups apache_user 

당신은 내가 다른 해결책 날 리드 몇 가지 문제가 발생했다

+4

아니면 ps axo user, group, comm | grep apache' –

+0

감사합니다. DreamHost에서는 작동하지 않지만 알아 냈습니다. 질문의 마지막 단락을보십시오. – ma11hew28

+0

'ps aux'가 당신을 위해 작동하지 않는다는 것이 약간 이상합니다 (dreamhost 자체가 http://wiki.dreamhost.com/PS_Optimization해야한다고 선언했기 때문에); 그러나, 당신은 그것을 한 가지 또는 다른 방식으로 해냈습니다. –

4

원하는 것을 얻을 수 있습니다. 하지만 구성 파일에 액세스 할 때만 작동합니다.

\etc\apache2\envars 파일에서 실제로 사용자와 그룹을 확인할 수 있습니다. 이것은 Apache가 환경을 var로 설정하고 응용 프로그램에서 사용하는 위치입니다. 이 두 라인

봐 : 이것은 단지 환경 ​​변수를 설정하는 것입니다

export APACHE_RUN_USER=www-data 
export APACHE_RUN_GROUP=www-data 

참고. 실제 나 다른 파일의 \etc\apache2\apache2.conf

User ${APACHE_RUN_USER} 
Group ${APACHE_RUN_GROUP} 

위치에 실제로 어떤 사용자/그룹으로 실행하기 위해 아파치를 할 수 있습니다 설정 그러나 당신은 생각을해야한다.