답변:
참고 : 업데이트에 대한 루트 권한을 삭제하고 apache
사용자 와 스크립트를 실행하는 것이 가장 좋습니다 .
su apache -c "./update-script"
그렇지 않으면을 사용하십시오 chmod g+s /var/www
. 이 디렉토리 내에 작성된 새 파일 및 서브 디렉토리는 기본적으로 상위 디렉토리 와 동일한 소유자 / 그룹을 공유합니다 . (이것은 재귀 적으로 퍼집니다.)
coreutils 매뉴얼 에 따르면 이것은 이식성이없는 GNU 확장입니다. 이것은 그룹 ID에서만 작동하는 것 같지만이 일반적인 종류의 문제를 처리하기에 충분해야한다고 생각합니다. ( umask 002
스크립트를 실행할 때 사용 하면 도움이 될 수도 있습니다.)
분명히 나는 루트가 웹 디렉토리를 소유하고 싶지 않다.
왜? 보안 모델은 무엇입니까?
chown apache : 아파치 / var / www
WTF는 보안 모델입니다 !!! ????
누군가 루트로 ssh'd 할 때
아 아아아 아아아!
아파치 사용자를 사용하지 않으면 Stephane G의 대답이 의미가 있습니다 . 대부분의 보안 모델의 경우보다 합리적인 접근 방식은 사용자 그룹이 파일에 대한 쓰기 액세스 권한을 갖도록 설정하고 그룹 소유권 및 그룹 고정을 설정하고 디렉토리에서 비트를 실행 및 기록한 다음 웹 서버 uid 액세스를 'other'로 허용하는 것입니다. . 웹 서버 uid로 작성할 수있는 특정 디렉토리 / 파일이 있어야하는 경우, 이들을 사용자로 웹 서버 uid로 설정하십시오 (그러나 다른 그룹과 동일한 그룹을 유지하십시오).
그리고 루트 ssh 로그인을 허용해서는 안됩니다 (허용 그룹 / 허용 사용자 허용 목록은 특정 사용자 거부 / 허가 루트 로그인 = 아니오).