chmod 700을 사용하면 내 서버의 최상위 디렉토리가 더 안전해 집니까?

chmod 700을 사용하면 내 서버의 최상위 디렉토리가 더 안전해 집니까?

, , 및 Ubuntu 17.04가 포함된 컴퓨터에 Django/Python 서버를 배포하려고 합니다 . Postgres와 Redis는 TCP 포트가 아닌 Unix 소켓을 통해서만 수신합니다. 내 서버를 내 클라우드 디렉터리에 동기화하는 옵션을 사용하고 있으며 안전하길 바라는 구성을 설정했습니다.PostgresRedisNginxuwsgiExim4-avPhomeiptables

위의 정보가 질문과 그다지 관련이 없을 수도 있다는 것을 알고 있지만 내 환경에 대한 몇 가지 세부 정보를 제공하고 싶었습니다. 서버 루트에 대한 권한을 변경하면 700보안이 강화되나요? 개발 컴퓨터에서 일부 파일을 변경하거나 새 파일을 추가한 후 동기화 .py하면 어떻게 되나요 ? 자동으로 변경됩니까, 아니면 700각 작업 후에 다시 변경해야 합니까?chmodrsync

답변1

Unix 계열 시스템의 모든 파일에 액세스하려면 다음이 필요합니다.찾다해당 구성 요소로 이어지는 모든 디렉터리 구성 요소에 대한 권한입니다.

예를 들어 읽기 위해 열 수 있으려면 검색 권한( 출력의 비트)과 검색 권한(출력의 비트)이 /a/b/c필요합니다 .xls -l//a/a/breadr/a/b/c

따라서 검색 권한을 제한하면 /실제로는 각 파일에 대한 액세스가 제한됩니다.

일반적으로 /소유자 ID는 0이고 권한이 700이라는 것은 루트 이외의 사용자는 어떤 파일에도 액세스할 수 없음을 의미합니다. 권한에 관계없이 모든 파일에 액세스할 수 있습니다 root.

이는 이 시스템이 모든 작업을 수행할 수 있으려면(대부분의 작업이 하나의 파일 또는 다른 파일을 여는 것과 관련되므로) 모든 작업은 사용자 root, 즉 모든 작업을 수행할 수 있는 사용자로 실행되어야 함을 의미합니다.

따라서 사실상 사용자 액세스 제어의 보안 이점을 포기하는 것입니다. 0700 권한을 변경하는 것이 아니라 모든 것이 루트로 실행되어 0700 권한으로 사용할 /수 있도록 시스템을 변경하면 됩니다 ./

답변2

네 말 뜻은 chmod 700 --recursive /? 이로 인해 문제가 발생할 뿐입니다. 서버가 공유되지 않는다고 하셨기 때문에 폴더 권한은 그다지 중요하지 않습니다. 애플리케이션 보안은 중요합니다. 확인하세요 SELinux. 고급 기능이지만요.

rsync권한을 처리하는 스위치가 있습니다. --chmod=CHMOD affect file and/or directory permissions동기화 중에 대상에 적절한 권한을 적용 할 수 있습니다 .

관련 정보