, , 및 Ubuntu 17.04
가 포함된 컴퓨터에 Django/Python 서버를 배포하려고 합니다 . Postgres와 Redis는 TCP 포트가 아닌 Unix 소켓을 통해서만 수신합니다. 내 서버를 내 클라우드 디렉터리에 동기화하는 옵션을 사용하고 있으며 안전하길 바라는 구성을 설정했습니다.Postgres
Redis
Nginx
uwsgi
Exim4
-avP
home
iptables
위의 정보가 질문과 그다지 관련이 없을 수도 있다는 것을 알고 있지만 내 환경에 대한 몇 가지 세부 정보를 제공하고 싶었습니다. 서버 루트에 대한 권한을 변경하면 700
보안이 강화되나요? 개발 컴퓨터에서 일부 파일을 변경하거나 새 파일을 추가한 후 동기화 .py
하면 어떻게 되나요 ? 자동으로 변경됩니까, 아니면 700
각 작업 후에 다시 변경해야 합니까?chmod
rsync
답변1
Unix 계열 시스템의 모든 파일에 액세스하려면 다음이 필요합니다.찾다해당 구성 요소로 이어지는 모든 디렉터리 구성 요소에 대한 권한입니다.
예를 들어 읽기 위해 열 수 있으려면 검색 권한( 출력의 비트)과 검색 권한(출력의 비트)이 /a/b/c
필요합니다 .x
ls -l
/
/a
/a/b
read
r
/a/b/c
따라서 검색 권한을 제한하면 /
실제로는 각 파일에 대한 액세스가 제한됩니다.
일반적으로 /
소유자 ID는 0이고 권한이 700이라는 것은 루트 이외의 사용자는 어떤 파일에도 액세스할 수 없음을 의미합니다. 권한에 관계없이 모든 파일에 액세스할 수 있습니다 root
.
이는 이 시스템이 모든 작업을 수행할 수 있으려면(대부분의 작업이 하나의 파일 또는 다른 파일을 여는 것과 관련되므로) 모든 작업은 사용자 root
, 즉 모든 작업을 수행할 수 있는 사용자로 실행되어야 함을 의미합니다.
따라서 사실상 사용자 액세스 제어의 보안 이점을 포기하는 것입니다. 0700 권한을 변경하는 것이 아니라 모든 것이 루트로 실행되어 0700 권한으로 사용할 /
수 있도록 시스템을 변경하면 됩니다 ./
답변2
네 말 뜻은 chmod 700 --recursive /
? 이로 인해 문제가 발생할 뿐입니다. 서버가 공유되지 않는다고 하셨기 때문에 폴더 권한은 그다지 중요하지 않습니다. 애플리케이션 보안은 중요합니다. 확인하세요 SELinux
. 고급 기능이지만요.
rsync
권한을 처리하는 스위치가 있습니다. --chmod=CHMOD affect file and/or directory permissions
동기화 중에 대상에 적절한 권한을 적용 할 수 있습니다 .