magento는 폴더 가 700 이고 파일이 600 일 때 / var 및 / media 가 있다고 말하지만 내 사이트의 특정 부분을 손상시킵니다. 대부분의 사람들이이 폴더에 어떤 권한을 사용하는지 궁금합니다.
magento는 폴더 가 700 이고 파일이 600 일 때 / var 및 / media 가 있다고 말하지만 내 사이트의 특정 부분을 손상시킵니다. 대부분의 사람들이이 폴더에 어떤 권한을 사용하는지 궁금합니다.
답변:
700과 600을 사용하는 것에 대한 언급은 많지 않지만 일반적으로 좋은 조언입니다. 불행히도 모든 서버 설정은 다르며 편의성 (파일 업데이트 / 편집에 대한 사용자 액세스)과 비교하여 계량해야합니다.
기본 접근 방식은 가능한 한 적은 양만 포기하고 가능한 한 많이 잠그는 것입니다 (700/600이 좋습니다). 이와 관련하여 위키에 대한 "공식적인"조언은 가능한 한 많은 환경에 적용되기를 원하고 모든 사람에게 읽기 권한을 제안합니다 (즉, 서버에서 손상된 다른 서비스는 app / etc / local을 읽을 수 있음을 의미합니다). db 구성을 사용하는 xml).
귀하의 경우 현재 웹 서버 / PHP 프로세스가 실행되는 것과 다른 사용자가 파일을 소유하고있는 것처럼 들립니다. 파일 소유권을 웹 서버로 변경하면 원래 문제가 해결됩니다.
700/600을 사용하고 파일을 웹 서버에 할당한다는 것은 일반 사용자가 파일을 편집 할 수 없음을 의미합니다.
아래 느낌은 편의 대 잠금에 대한 좋은 타협입니다. 모든 파일은 user : webservergroup이 소유합니다.
var and media 770 / 660
서버와 사용자는 var 및 media 폴더 (세션 / 캐시 / 이미지)를 읽고 쓸 수 있습니다.
나머지 750 / 640
사용자는 코드를 편집 / 업데이트 할 수 있습니다.
웹 서버는 실행 / 표시 할 파일을 읽을 수 있습니다.
일반적으로 모든 파일이 있어야 644
하고 모든 폴더는 웹 서버가 실행되는 사용자가 소유755
하고 있어야합니다 . mage
실행 파일 에는 실행 550
을 허용 할 권한 이 부여되어야합니다 .
이 셸 스크립트는 마법사 루트에서 실행되는 경우 패치해야합니다.
#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage
출처 : http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
Phil의 솔루션은 훌륭하지만 조금 다른 접근법을 사용합니다. "php / webserver user"파일 소유자를 만드는 것 외에도 추가 그룹을 만듭니다. 일반적으로 dev 라고 합니다. 그리고 나는 "php user"와 나 자신과 다른 개발자들을 그 그룹 dev에 추가 합니다. 그런 다음 Magento 프로젝트 하위 트리의 모든 파일이 dev 그룹을 갖도록 chgrp를 수행 합니다. 폴더 에 + s 비트 를 추가 하여 새로 만든 하위 폴더가 동일한 권한을 갖도록합니다.
내 fix_permissions.sh 스크립트를 사용하여 공개 요점을 만들었습니다. 자유롭게 사용하십시오 :) 전체 Magento 프로젝트 하위 트리를 좋은 권한으로 유지하는 데 도움이됩니다.
https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh
원래 질문-var 및 media에는 "php user"가 이러한 폴더를 읽고 쓸 수있는 권한이 있어야합니다. var에서 캐시, 세션 파일 등을 쓸 수 있어야하고 미디어에서 제품 이미지 캐시와 이미지를 쓸 수 있어야합니다. Phil이 조언 한대로 "php user"에 chown 또는 chgrp를 설정하고 "php user"에 rw 권한을 부여하십시오.
FPM (CGI)의 맥락에서 "php user"를 참조하는 것이 더 정확하다고 생각합니다. 웹 서버 사용자는 PHP를 실행하는 것과 다를 수 있습니다.
파일 권한은 644입니다. ssh를 사용하여 루트 디렉토리에서 아래 코드를 실행하십시오. 찾기
-type f -exec chmod 644 {} \;
폴더 권한은 755입니다. ssh를 사용하여 루트 디렉토리에서 아래 코드를 실행하십시오. 찾기
-type d -exec chmod 755 {} \;
Var 폴더 권한은 777입니다. ssh를 사용하여 루트 디렉토리에서 아래 코드를 실행하십시오.
chmod -R 777 var
정적 폴더 권한은 777입니다. ssh를 사용하여 루트 디렉토리에서 아래 코드를 실행하십시오.
chmod -R 777 pub/static
미디어 폴더 권한은 777입니다. ssh를 사용하여 루트 디렉토리에서 아래 코드를 실행하십시오.
chmod -R 777 pub/media
여기에서 : http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php