디렉토리에 대한 권한을 0으로 설정하는 것이 해당 내용을 보호하는 효과적인 방법입니까?

디렉토리에 대한 권한을 0으로 설정하는 것이 해당 내용을 보호하는 효과적인 방법입니까?

이는 디렉토리에 user대한 권한이 올바르게 설정되어 있다고 가정합니다. 이 디렉터리에 대한 권한이 0이면 group이 디렉터리의 파일과 하위 디렉터리에 대한 효과적인 액세스 제어를 제공합니까? other고려해야 할 문제가 있나요?

다른 사람이 사용할 수 있는 파일을 만들면 rw(예: Unix 도메인 소켓 사용) 악의적인 사용자가 해당 파일에 적절한 권한이 적용되기 전에 경쟁 조건을 이용할 수 있기 때문에 사람들은 이를 보안 문제로 간주합니다. 그렇기 때문에 기본 권한을 수행하는 "원자적" 방법을 찾고 있습니다.

답변1

"기타" 권한의 3비트가 000(2진수) 또는 0(8진수, chmod에 숫자로 입력된 베이스)이거나 에 표시된 경우 ---모든 액세스가 거부됩니다 ls -l. "모든 액세스"는 파일과 관련이 있습니다. 파일이 있는 디렉터리에 대한 액세스를 허용하면 해당 파일의 존재를 계속 볼 수 있습니다. chmod o-rwx filename그룹 구성원 및 소유자의 권한을 변경하지 않고도 다른 사람의 권한을 취소 할 수 있습니다 .

권한을 원자적으로 설정하려면 시스템 호출을 사용하여 실행기를 바인딩할 때 프로그래밍 수준에서 수행할 수 있습니다. 그렇지 않으면 umask는 umask쉘에 의해 시작된 프로세스에 의해 상속되는 쉘 명령을 사용하여 쉘 프로세스에 대해 설정됩니다 . umask의 비트는 다음과 같습니다.존재하다생성된 파일의 해당 비트가 0이 됩니다. 이것은 당신이 찾고 있는 원자적 방법이며 악용될 기회를 남기지 않습니다. 022의 umask는 일반적으로 파일에 644() 권한을 부여 rw-r--r--하고 디렉토리에 755() 권한을 부여 합니다 rwxr-xr-x. umask 027은 640( rw-r-----) 및 750( ) 권한을 부여합니다 rwxr-x---.

답변2

파일에 접근하려면 그 위에 있는 디렉터리에 접근해야 합니다. 말씀하신 대로 디렉터리에 대한 액세스를 비활성화하면 파일이 보호됩니다. 사용자가 디렉터리에 액세스할 수 있으면 파일 내용에 액세스할 수 없더라도 파일을 볼 수 있습니다.

액세스 비트:

  • x디렉토리 내용에 대한 액세스를 허용합니다.
  • r디렉토리 내용 목록을 허용합니다.
  • w디렉터리 내용을 변경할 수 있습니다.

동일한 디스크의 여러 디렉터리에 있는 동일한 파일을 연결할 수 있습니다. 모든 디렉터리가 보호되는지 확인해야 합니다.

다른 사람의 액세스 권한을 삭제해도 사용자 및 디렉터리 그룹 구성원에 대한 액세스는 계속 허용됩니다.

관련 정보