나는 통해 일하고 있어요 우분투 16.04에 uWSGI와 Nginx에와 장고 응용 프로그램을 봉사하는 방법 . 이 기사의 "uWSGI 용 시스템 단위 파일 작성"의 끝에서 www-data
사용자에 대해 설명합니다 . 이것이 무엇이며 왜 중요합니까?
나는 통해 일하고 있어요 우분투 16.04에 uWSGI와 Nginx에와 장고 응용 프로그램을 봉사하는 방법 . 이 기사의 "uWSGI 용 시스템 단위 파일 작성"의 끝에서 www-data
사용자에 대해 설명합니다 . 이것이 무엇이며 왜 중요합니까?
답변:
보안을 위해.
파일은 세계적으로 쓸 수 없습니다. 그들은 파일의 소유자로 제한되어 있습니다.
웹 서버는 특정 사용자로 실행해야합니다. 해당 사용자가 존재해야합니다.
루트에서 실행 된 경우 루트가 모든 파일에 액세스 할 수 있어야하며 파일에 액세스하려면 사용자가 루트 여야합니다. 루트가 소유자 인 경우 손상된 웹 서버는 전체 시스템에 액세스 할 수 있습니다. 특정 ID를 지정하면 손상된 웹 서버는 전체 서버가 아닌 파일에 대한 전체 액세스 권한 만 갖습니다.
다른 사용자 ID로 실행하기로 결정한 경우 해당 사용자는 적절한 권한을 위해 파일의 유효 소유자 여야합니다. 시스템 전체 파일의 개인 소유권을 개인 계정에 소유하는 것은 혼란 스러울 수 있습니다.
특정 사용자를 만들면 파일을보다 쉽게 인식 chown
하고 사이트에 추가 된 새 파일 및 폴더에 대한 ID를 일관되게 인식 할 수 있습니다.
소유자 의 사용자 ID 또는 이름 은 중요하지 않습니다. 선택되거나 결정된 것은 웹 서버 구성 파일에서 구성해야합니다.
기본적으로 소유자 www-data
구성은 Apache2의 Ubuntu 구성에 있습니다. 이것이 기본 구성이므로 웹 파일에 필요한 소유권을 편리하게 알 수 있습니다. 변경하면 사이트의 파일이 일치하도록 변경해야합니다.
Nginx를 실행하지는 않지만 Ubuntu 저장소에 있기 때문에 www-data
기본 구성으로 테스트 된 것입니다 .
www-data
. 그래서 귀하의 질문과 같이 userID 및 groupID가 존재하지 않으면 작성하도록 요청했습니다. Apache2 설치는 자동으로 사용자를 작성합니다. Nqinx 에 대해 잘 모르겠습니다 . 다음이 있는지 확인할 수 있습니다 iid -u www-data&&id -g www-data
.. 존재하는 경우 사용자 및 그룹의 ID 번호를 표시합니다. 우분투에서 기본적으로 사용자와 그룹 번호는 33
입니다.
www-data
소유자도에서 언급 한 바와 같이 보안 위험이 될 수에서 base-passwd
문서 소유자는 일반적으로 모든 웹 서빙 콘텐츠에 대한 읽기 / 쓰기 액세스 권한으로, (muru의 답변을 @ 참조). www-data
소유자에 대한 쓰기 권한을 제거 하거나 다른 소유자를 사용할 수 있습니다. www-data
제공 할 모든 데이터에 대한 읽기 액세스 권한이 필요하지만 각 파일 및 디렉토리에 필요한 권한 만 부여하면 더 안전하지 않습니다.
www-data
Ubuntu의 웹 서버 (예 : Apache, nginx)가 기본적으로 정상 작동에 사용하는 사용자입니다. 웹 서버 프로세스는 액세스 할 수있는 모든 파일에 www-data
액세스 할 수 있습니다. 다른 중요성은 없습니다.
보내는 사람 base-passwd
(문서 /usr/share/doc/base-passwd/users-and-groups.txt.gz
) :
일부 웹 서버는 www-data로 실행됩니다. 이 사용자가 웹 컨텐츠를 소유하지 않아야합니다. 그렇지 않으면 손상된 웹 서버가 웹 사이트를 다시 작성할 수 있습니다. 웹 서버가 작성한 데이터는 www-data가 소유합니다.
base-passwd
문서를 파고 있었다
www-data
서비스 아파치 (아파치)하고있는 사용자 (및 그룹)는 행동하는 시스템에.