www- 데이터 권한?


108

그래서 나는 / var / www (cake라고 함)에 디렉토리를 가지고 있고 www-data에 쓰기를 허용해야합니다. 내 컴퓨터의 다른 사용자 (또는 해커)가 해당 디렉터리의 파일을 수정하려고 할 경우 권한을 777로 변경하는 것이 두렵습니다. 나 자신과 Apache의 www-data에 대한 액세스 만 허용하려면 어떻게해야합니까?

답변:


168
sudo chown -R yourname:www-data cake

그때

sudo chmod -R g+s cake

첫 번째 명령은 소유자와 그룹을 변경합니다.

두 번째 명령은 동일한 그룹 권한을 가진 cake 내에 새 파일과 디렉토리를 유지하는 s 속성을 추가합니다.


3
chmod g + s가 재귀적인 이유는 무엇입니까?
Ben Rogmans 2014

G +에 대해 몰랐습니다. 매우 편리합니다!
FRAGA

1
사용자는 케이크 자체에있는 www-data에 의해 생성 된 파일과 www-data에 의해 생성 된 디렉토리에있는 www-data에 의해 생성 된 파일로 무엇을 할 수 있습니까? 예를 들어 편집, 이름 변경, 삭제 작업에 대해? 내가 알기로는 www-data가 만든 디렉토리 내에서 이름을 바꾸거나 삭제할 수 없으며 www-data가 만든 파일을 사용자가 편집 할 수 없습니다.
qdinar

49

Slicehost의 기사 에서 언급했듯이 :

사용자 설정

이제 Apache 사용자 그룹에 기본 사용자를 추가하여 시작하겠습니다.

sudo usermod -a -G www-data demo

그러면 사용자 'demo'가 'www-data'그룹에 추가됩니다. 위에 표시된 usermod 명령과 함께 -a 및 -G 옵션을 모두 사용해야합니다.

그룹 변경을 활성화하려면 로그 아웃했다가 다시 로그인해야합니다.

지금 그룹을 확인하십시오.

groups
...
# demo www-data

그래서 이제 저는 두 그룹의 구성원입니다. 내 그룹 (데모)과 아파치 그룹 (www-data)입니다.

폴더 설정

이제 public_html 폴더가 기본 사용자 (demo)가 소유하고 Apache 그룹 (www-data)의 일부인지 확인해야합니다.

설정해 보겠습니다.

sudo chgrp -R www-data /home/demo/public_html

권한에 대해 이야기하면서 sudo 명령에 대한 간단한 메모를 추가하겠습니다. 상대 경로 (~ / public_html)보다는 위에 표시된대로 절대 경로 (/ home / demo / public_html)를 사용하는 것이 좋습니다. sudo가 올바른 위치에서 사용되고 있는지 확인합니다.

symlink가있는 public_html 폴더가있는 경우 해당 명령이 symlink를 따르므로주의하십시오. 작업중인 public_html 폴더의 경우 각 폴더를 직접 변경하십시오.

Setgid

지금까지는 좋지만 방금 지정한 명령은 기존 폴더에만 영향을줍니다. 새로운 것은 어떻습니까?

소유권을 설정하여 새로운 모든 것이 'www-data'그룹에도 포함되도록 할 수 있습니다.

첫 번째 명령은 "setgid"비트를 포함하도록 public_html 디렉토리에 대한 권한을 변경합니다.

sudo chmod 2750 /home/demo/public_html

그러면 새 파일에 'www-data'그룹이 지정됩니다. 하위 디렉터리가있는 경우 각 하위 디렉터리에 대해 해당 명령을 실행해야합니다 (이 유형의 권한은 '-R'과 함께 작동하지 않음). 다행히 새 하위 디렉터리는 'setgid'비트가 자동으로 설정되어 생성됩니다.

예를 들어, 업로드 디렉토리에 대한 Apache에 대한 쓰기 액세스를 허용해야하는 경우 다음과 같이 해당 디렉토리에 대한 권한을 설정합니다.

sudo chmod 2770 /home/demo/public_html/domain1.com/public/uploads

새 파일에 올바른 소유권이 자동으로 할당되므로 권한은 한 번만 설정하면됩니다.


이 솔루션은 저에게 효과적입니다. 그 전에는 항상 루트 사용자를 사용하여 터미널에서 서버를 실행합니다. 이 솔루션을 사용하면 권한이 770 인 디렉토리에 파일을 업로드 할 수 있습니다. 이전에는 777 권한을 사용해서 만 파일을 업로드 할 수 있기 때문에 이것은 굉장합니다.
Ifan 이크발
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.