디렉토리 소유자를 변경해도 안전한가요 /var
?(기본 소유자는 루트입니다) var 내부의 하위 디렉터리는 www/html/domain.com
Apache 소유권으로 wordpress를 설치할 예정이므로 var 내부의 모든 디렉터리 소유자를 Apache로 변경했습니다. /var
소유자를 아파치로 변경할 수 있나요?
답변1
웹 서버가 가능한 한 적은 양의 시스템에 액세스할 수 있기를 원합니다. 나는 주인을 바꾸지 않을 것이다어느파일 또는 디렉터리를 apache
.ACL 또는 그룹 권한을 사용하겠습니다. 그러나 작업을 완료하기 위해 어떤 방법을 선택하든 범위를 제한해야 합니다.
/var
웹 서버에는 쓰기 액세스는 물론 읽기 액세스도 필요하지 않은 다음과 같은 것들이 많이 있습니다 .
- 애플리케이션(패키지 관리자 포함)에서 캐시된 데이터
- 파일 잠금
- 로그 파일
- 메일 및 인쇄 대기열
그런 점에서 나는 떠날 것이다.모든 것먼저 기본 쓰기 불가 상태입니다. 특정 파일이나 하위 디렉터리를 찾은 경우필요쓰기 가능하려면 해당 특정 개체에 쓰기 액세스 권한을 추가하세요. 이 정책에 따르면 문서 루트도 /var/www
쓸 수 없는 상태로 남아 있을 수 있습니다.
답변2
내가 해냈어. 이것은 끔찍한 실수입니다. 루트는 /var의 모든 디렉토리를 소유할 수 있지만 /var/log/mysql은 /var/lib/mysql과 마찬가지로 mysql에 속하므로 이를 수행하면 시스템에 큰 피해를 입히고 보려고 할 때 이상한 결과가 생성됩니다. 효과는 파일을 녹음하고 삭제하는 것입니다.
변경이란 다음을 사용하여 모든 하위 디렉터리를 재귀적으로 변경했음을 의미합니다.
sudo chown -R root:root /var/*
절대 이러지 마세요!
Apache2와 관련하여 실제로 다음을 사용해야 합니다.
sudo chown -R www-data:www-data /var/www
그 이유는 일부 패키지가 도트 파일(.files)을 /var/www에 저장하는 경우가 있는데, 이는 apache2에 /var/www에 대한 쓰기 권한이 없으면 실제로 발생하지 않기 때문입니다. 이는 모든 사람에게 영향을 미치지 않는 드문 문제이지만 Python Flask에서 이러한 현상이 발생하는 것을 본 적이 있으며 디버깅할 문제를 찾는 것이 거의 불가능합니다.