![Apache에서 html/ 폴더의 소유자를 변경하는 것이 안전합니까?](https://rvso.com/image/1127594/Apache%EC%97%90%EC%84%9C%20html%2F%20%ED%8F%B4%EB%8D%94%EC%9D%98%20%EC%86%8C%EC%9C%A0%EC%9E%90%EB%A5%BC%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9D%B4%20%EC%95%88%EC%A0%84%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
나는 chmod 등을 사용하는 방법을 알고 있으므로 그것은 문제가 아닙니다. . /var/www/html/
기본적으로 루트는 폴더의 소유자입니다 html/
.
질문: 폴더 소유자를 변경해도 안전한가요 html/
?
답변1
에서 파일의 소유권을 변경하는 것은 완벽하게 안전하며 /var/www
실제로 해당 폴더에 있는 모든 항목을 원하는 대로 편집하고 변경할 수 있습니다.
예를 들어, 사용자가 tsmith
파일에 쓸 수 있어야 한다면 /var/www/myweb
이러한 파일의 소유자를 tsmith
. 또는 원하는 경우 소유자를 sudo로 유지 하고 쓰기 위해 sudo를 root
요구합니다 . sudo를 신뢰하는 경우입니다.tsmith
파일을 편집할 수 있어야 하는 사용자가 여러 명이고 이들에게 sudo를 부여하고 싶지 않은 경우 그룹 멤버십을 대신 사용할 수 있습니다. 예를 들어 그룹을 만들고 해당 그룹에 사용자를 추가한 다음 그룹 소유권과 그룹을 설정합니다. 해당 그룹의 구성원이 해당 파일을 수정할 수 있도록 관련 파일에 기록합니다. 이 작업을 수행할 때 chmod g+s dir
포함된 디렉토리에서 SetGID 비트( )를 사용하여 새 파일이 동일한 그룹 소유권을 상속하는지 확인하고 umask 002
각 사용자가 ~/.profile
그룹 쓰기 권한을 얻도록 할 수 있습니다. 그렇지 않으면 새 파일은 해당 사용자만 편집할 수 있습니다. 그룹의 다른 구성원이 아닌 작성자입니다.
그러나 다음과 같은 나쁜 습관을 알고 있어야 합니다.
그룹 쓰기 권한을 부여하는 경우 파일의 소유권을 사용자
www-data
또는 그룹에 설정하지 마십시오. 사용자www-data
의 요점www-data
은 권한이 없는 사용자이며 어떤 파일에도 쓸 수 없다는 것입니다. 외부 네트워크(예: 웹 서버)에서 액세스할 수 있는 서버 데몬은 일반적으로 권한이 없는 사용자로 실행되므로 취약점으로 인해 해킹당하는 경우 공격자가 할 수 있는 작업은 최소화됩니다.예외: 일부 웹 앱에서는 첨부 파일 저장소 등을 구현하기 위해 특정 파일 및 폴더에 대한 쓰기 권한이 필요합니다. 이러한 경우 소유권을 다음으로 설정해야 합니다.
www-data
오직해당 파일의 경우 쓰기 가능한 파일 수를www-data
최소한으로 유지합니다.같은 이유로 파일을 누구나 쓸 수 있도록 설정하지 마세요.
admin
그룹을 생성하는 경우 Ubuntu에서 이미 목적을 갖고 있는 ,sudo
특히 와 같은 기존 사용자 그룹의 용도를 변경하지 마십시오.www-data
해당 그룹이 파일에 쓸 수 없도록 의도된 것이 아닌 경우 시스템 보안이 저하될 수 있습니다. 대신, 자신만의 그룹을 만들고 해당 그룹에 구성원을 추가하세요.
답변2
루트 권한(소유권 또는 단일 권한)이 있는 디렉터리나 파일을 사용하는 것은 그다지 안전하지 않습니다. 정적 HTML 파일의 경우 큰 보안 문제는 아니지만 스크립트(PHP, JavaScript, 모든 양식 등)가 실행되는 즉시 심각한 문제가 발생할 수 있습니다.
답변3
콘텐츠(html, 이미지 등)만 제공해야 하는 경우 apache2 사용자( )에게 콘텐츠 액세스 권한이 있는 /var/www
한 의 디렉터리/파일에 특별한 소유권을 설정할 필요가 없습니다 .www-data
추가 작업이 필요한 경우 소유권을 수정해야 할 수도 있습니다. 예를 들어 CMS(예: WordPress, Joomla 등)에서 파일을 업로드해야 하는 경우 업로드 디렉터리의 소유권을 다음으로 변경해야 합니다 www-data
(또는 최소한 해당 사용자에게 쓰기 권한을 부여해야 합니다).
나는 개인적으로 mod ( 와 동일 )를 가진 사용자와 /var/www
가 소유한 웹사이트(예: ) 디렉토리를 소유하고 있습니다 .root
1777
/tmp
/var/www/site1
www-data
도움이 되길 바랍니다!