폴더와 하위 폴더 및 파일에 대한 읽기 쓰기 권한을 부여하는 방법은 무엇입니까?


10

로컬 호스트 파일 /var/www/과 하위 폴더의 소유권을 변경 하고 권한 777을 부여했습니다. 그러나 새 폴더를 추가 할 때마다 새 폴더가 해당 권한을 자동으로 얻지 못합니다. 새 폴더 나 파일을 추가 할 때 동일한 권한을 갖도록 폴더 777 권한을 영구적으로 부여하려면 어떻게해야합니까?



777은 나쁜 생각 입니다. 그러나 ACL을 사용하면 매우 적합 할 수 있습니다. ACL에서이 솔루션을 읽고 자신에게 적합한 지 확인 하시겠습니까?

1
특히, 모든 디렉토리를 chmod find . -type d -exec chmod 777 {} +하려면 모든 디렉토리를 777로 변경 하는 데 사용할 수 있습니다. 더 나은 결과를 얻으려면 루트로 로그인해야하며 폴더에 있는지 확인하십시오.
Redy S

답변:


1

새로 작성된 파일에 대한 권한은 umask에 의해 설정됩니다.


/ var / www / 쓰기 가능 및 최근에 추가 한 사이트에 대해 동일한 권한 (777)을 얻도록 권한을 부여하는 명령을 작성할 수 있습니까?
kamal

1
웹 서버에 777 권한을 부여하는 것은 좋지 않습니다.
saji89

자세한 내용을 추가해 주시겠습니까?
saji89

@ Vojtech Trefny. 현재 링크가 작동하지 않습니다. 404 Not Found라고 표시됩니다.
all4naija

12

재귀 옵션은 언제든지 사용할 수 있습니다. sudo chown -R username /var/www


더 많은 투표가 필요합니다!
Sheharyar

10

다른 사람들 이 이미 언급했듯이 777 권한을 부여 /var/www하는 것은 특히 생산에서 나쁜 아이디어입니다.

더 나은 솔루션은 파일을 수정해야하는 사용자에게만 쓰기 권한을 부여하는 것입니다. 이를 수행하는 방법 중 하나는 다음과 같습니다.

  • 새로운 그룹을 만들다

  • /var/www해당 그룹에 데이터를 수정해야하는 사용자 추가

  • /var/www해당 그룹 의 소유권을 재귀 적으로 변경

  • 세트 umask/var/www이렇게 새로 생성 된 파일은 우리가 만든 그룹이 소유하고 있습니다.

또 다른 옵션은 ACL을 다시 사용하여 필요한 사용자에게만 쓰기 권한을 부여하는 것입니다.

serverfault에 대한 자세한 지침 은 다음과 같습니다 .

일반적으로 웹 서버 나 다른 네트워크 서비스 또는 시스템 사용자 계정에는 임의 코드가 실행될 가능성이 있으므로 웹 서버에서 제공하는 파일에 대한 쓰기 권한이 없어야합니다.


2

/etc/apache/envvars선택한 편집기를 사용하여 루트로 편집해야 합니다.

예 : ALT+F2
gksudo gedit /etc/apache2/envvars

파일의 끝으로 가서 줄을 추가하십시오 umask XXX.

여기서 umask는 원하는 권한 값과 반대되는 이진입니다.
774의 경우이 값은 003입니다. 777의 잘못된 생각의 경우 000입니다.

저장.

아파치를 다시 시작하십시오.

예: sudo apache2ctl restart

이것은 아파치 사용자가 새로 만든 파일 / 폴더에만 영향을 미칩니다.

추가 메모, 읽기 및 쓰기는 사용자, 그룹 또는 모든 사람 슬롯에서 6입니다.


0

또한 일부 "즉시"솔루션은 다른 폴더를 사용하도록 http 서버를 구성하는 것입니다. Apache를 사용하는 경우 간단히 구성 파일을 편집하십시오. 이런 식으로 / var / www 스위치에 대한 권한을 변경할 필요가 없습니다 (잠재적 인 보안 문제).

그리고 umask는 귀하의 질문에 대한 답변입니다. 새로 만든 폴더 및 파일에 대한 기본 권한을 제한하는 데 사용할 수 있습니다. 그리고 배포 개발자는이를 사용하여 일부 시스템 폴더에 대한 액세스를 제한하는 경향이 있습니다.


0

/var/www파일과 디렉토리를 수정 하기 위해 쓰기 권한을 갖고 싶다고 생각합니다 . 가장 좋은 해결책은 apache2-mpm-itk가상 호스트 구성 파일 을 설치 하고 추가하는 것입니다 /etc/apache2/sites-available/default.

<IfModule mpm_itk_module>
    AssignUserId your-username your-group
</IfModule>

실행 chown your-username\: /var/www -Rv하여 UID / GID로 실행됩니다 가상 호스트에 대한 이런 식의 아파치를하고 편집 파일을 할 수 있습니다. PHP로 작성된 파일조차도 UID / GID를 갖습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.