gedit, apache 및 IDE를 함께 사용할 수 있도록 권한을 어떻게 구성합니까?

gedit, apache 및 IDE를 함께 사용할 수 있도록 권한을 어떻게 구성합니까?

나는 기본 Ubuntu Desktop 11.04를 사용하고 있으며 램프 서버를 사용하여 램프 스택을 설치했습니다. Netbeans를 IDE로 사용하려고 합니다.

현재 모든 가상 호스트가 실행 중입니다 /var/www/vhostname. 그러나 그룹이나 권한을 구성하지 않았기 때문에 Netbeans를 통해 파일을 열려고 하면 쓰기 권한이 없습니다.

다음과 같이 권한을 올바르게 설정하는 방법(또는 Apache 또는 Netbeans 구성)은 다음과 같습니다.

  • PHP 스크립트로 생성된 파일은 rwNetbeans에서 생성 할 수 있습니다.
  • Netbeans에서 생성된 파일은 rwApache에서 생성될 수 있습니다.

내 사용자/그룹에 Netbeans 쓰기 권한을 부여 하려고 했지만 chownApache에 쓰기 권한이 없습니다.

참고: 이것은 순전히 개발용입니다. 프로덕션에서는 사용하기 위한 것이 아닙니다. 그리고 저는 이 상자의 유일한 사용자입니다.

고쳐 쓰다

나는 승인된 것으로 표시한 답변의 방법을 사용했지만 이제는 더 간단한 작업을 수행합니다.

  1. 내 사용자 및 내 그룹으로 실행되도록 Apache를 설정했습니다(배포판에 따라 httpd.conf, apache2.conf 또는 envvars에서 수행할 수 있음).
  2. 내 사용자 및 그룹에 /var/www를 chown합니다.

보라, Apache에는 읽기/쓰기 액세스 권한이 있고 프로젝트 작업 중에도 읽기/쓰기 액세스 권한이 있습니다.

답변1

제가 추천하는 대부분의 일은우분투에 질문하기에 설명되어 있습니다..

이 특별한 경우에는 suPHP를 설치하겠습니다. 간단히 말해서 Apache에서 사용자로 PHP 스크립트를 실행할 수 있습니다.

다음을 수행하여:

sudo chown -R youruser:youruser /var/www
find /var/www/ -type d -exec chmod 0755 {} \;
find /var/www/ -type f -exec chmod 0644 {} \;

다음에서 설치 suphp-common하고 다운로드하세요.libapache2-mod-suphp이 아빠(PPA란 무엇입니까? 어떻게 사용하나요?)

비활성화 mod_php5및 활성화mod_suphp

sudo a2enmod suphp
sudo a2dismod php5

맨 아래에 다음 줄을 포함하도록 가상 호스트를 업데이트하세요.

suPHP_UserGroup youruser youruser

youruser서버에서 파일을 편집하는 데 사용되는 사용자로 바꿉니다 . 아파치를 다시 시작하십시오.

이 시점부터 Apache는 사용자를 위해 모든 PHP 스크립트를 실행합니다. 즉, 해당 스크립트는 사용자/그룹이 소유할 수 있으며 사용할 필요가 없습니다.777과 같은 미친 권한. 모든 것이 귀하의 사용자로 실행되므로 PHP 스크립트로 생성된 모든 파일도 귀하의 소유가 됩니다! suPHP로 할 수 있는 다른 멋진 일들이 많이 있지만, 시작하는 데 필요한 것은 이것이 전부인 것 같습니다.

답변2

rw다른 사람(그룹 및 소유자뿐만 아니라)이 파일을 생성 해야 합니다 . 이 작업에는 보안 문제가 있을 수 있지만 chown폴더를 Apache 사용자/그룹에 반환한 다음 chmod o+rwNetbeens가 파일을 읽고 쓸 수 있도록 폴더에서 사용했습니다. 아직 테스트하지는 않았지만 작동할 것입니다. 비트마스킹을 선호한다면 chmod 766폴더에서도 동일한 결과를 얻을 수 있을 것입니다.

답변3

그룹을 재귀적 /var/www/vhostname으로 설정합니다 apache. apache그룹 에 자신을 추가하세요 . 권한을 var/www/vhostname775로 설정하세요.

chown -R apache /var/www/vhostname
chmod -R 775 /var/www/vhostname
usermod -a -g apache $USERNAME

이렇게 하면 사용자(및 apacheApache와 같은 그룹의 다른 사용자)가 서버 디렉토리에 쓸 수 있지만 다른 사용자는 쓸 수 없게 됩니다. 또한 런어웨이 스크립트가 홈 디렉토리에 횡설수설을 쓸 수 없거나 크랙된 스크립트가 쓸 수 없도록 보장합니다.echo PATH=/path/to/evil/script/directory:$PATH >> ~/.bashrc

관련 정보