이것이 내가 한 일입니다:
- CentOS 6.2 서버
- nginx가 설치됨
- vsftpd 설치
- vsftpd.conf에서 나는 설정했습니다.
chroot_local_user=YES
- 새로운 사용자 "bleh"를 만들었습니다.
- 디렉터리 생성
/home/bleh/public_html/
- virtual.conf에서 나는 location/{ 루트를 다음으로 설정했습니다.
/home/bleh/public_html/
- 드디어 해냈다
chmod 755 /home/bleh/
이거 안전한가요? 이것이 허용됩니까?
루트로 사용하려고 하면 다양한 권한 문제가 발생했습니다 /var/www/
. 위의 작업이 완료되어 서버에서 데이터를 전달하는 중입니다.
답변1
이는 몇 가지 이유로 보안이 취약할 수 있습니다.
/var
또는/var/www
이 자체 파티션에 있는 경우 특별한 제한 사항이 적용되어 설치되었을 수 있습니다. 예를 들어,noexec
또는 옵션을 사용하여 설치 되었을 수 있습니다nosuid
./home
이러한 제한이 없을 수도 있습니다.대부분의 경우 웹 사이트가 호스팅되는 디렉토리는 누구나 읽을 수 있어서는 안 됩니다. 일반적으로 콘텐츠의 소유자와 그룹만 읽을 수 있도록 설정해야 합니다. 웹 서버는 이러한 파일을 읽을 수 있는 사용자로 실행되어야 합니다.
서버 데이터와 사용자 데이터를 혼합하면 의도하지 않은 중요한 데이터 호스팅이 발생할 수 있습니다. 예를 들어 실수로 사용자
blah
의 데이터를 호스팅할 수 있습니다.