Apache 권한Linux

Apache 권한Linux
  • apacheWordPress는 사용자로 실행됩니다.
  • apachedevelopers그룹 에서
  • 모든 폴더는775
  • 모든 파일은664
  • 모든 폴더와 파일이 developers그룹 에 있습니다.

apacheWordPress에서 플러그인을 설치/업데이트하려면 왜 이러한 파일이 필요합니까?

답변1

먼저 root아파치 서버를 시작합니다. Apache는 root시작 시 권한을 포기하고 제한된 사용자 권한을 갖습니다 apache.

따라서 파일을 업로드하면 Apache가 WordPress 플러그인 폴더에 쓸 수 없으며 플러그인 설치가 실패합니다. 이 문제는 두 가지 방법으로 해결할 수 있습니다.

  1. 플러그인 폴더에 대한 그룹 쓰기 권한을 부여하고 apache 사용자를 그룹의 구성원으로 만듭니다.
  2. 또는 apache사용자가 폴더를 소유하도록 만듭니다.

umask설정 에 주의하세요 . Apache 환경 변수를 설정하는 곳에서 이를 설정해야 합니다.

"umask 002"

이는 umask플러그인을 설치할 때 생성된 새 파일 및 디렉터리에 대한 권한에 영향을 미칩니다.

답변2

WordPress에서 플러그인을 설치/업데이트하려면 Apache에 이러한 파일이 필요한 이유는 무엇입니까?

권한 모델이 형편없기 때문입니다.

어떤 파일에 어떤 권한을 설정할지 결정하는 것은 코드 작성 및 웹 서버 구성만큼 웹 사이트 배포의 중요한 부분입니다. 분명히 여기 설치는 코드 업데이트가 네트워크를 통해 적용될 수 있도록 신중하게 설계되었습니다. 이 문제에 대한 두 가지 일반적인 해결책이 있습니다. 모든 사람이 쓸 수 있는 파일과 디렉터리를 만들고 웹 서버 UID가 소유한 파일/디렉터리를 만드는 것입니다. 둘 다 보안에 매우 해롭습니다.

많은 수의 애플리케이션으로 작업할 때 웹 서버 UID가 쓸 수 있는 지정된 영역이 있다는 것은 불가피합니다. 이러한 영역은 문서 루트 외부에 있어야 하며 이러한 디렉터리의 모든 코드 실행은 금지되어야 합니다.

당신이 가진 권한으로 Apache는 모든 사용자/그룹/기타의 모든 파일/디렉토리를 읽고 사용자 또는 그룹으로 쓸 수 있습니다. 따라서 여기에는 약간의 중복성이 있으므로 Apache는 파일을 여기에 쓸 필요가 없습니다. 하지만 이는 문제가 되지 않습니다. Apache가 어떤 코드(또는 구성) 파일에도 쓸 수 있다는 것이 문제입니다.

올바른 문제에 대한 올바른 해결책에는 약간의 노력이 필요합니다.

답변3

파일을 업로드하고 업데이트할 때 Apache는 "apache" 사용자로 실행되며 파일을 변경할 수 있는 권한이 필요하기 때문입니다.

아마도 보안상의 이유로 아파치를 모든 웹 루트의 소유자가 아닌 플러그인 디렉토리의 소유자로 만드는 것이 더 쉬울 것입니다.

당신은 볼 수 있습니다여기파일 권한에 대한 추가 조언.

관련 정보