하위 디렉터리(rx)에 대한 전역 검색 가능 권한을 설정하지만 소유자 및 그룹 구성원을 제외한 모든 사람이 파일에 액세스할 수 없도록 설정

하위 디렉터리(rx)에 대한 전역 검색 가능 권한을 설정하지만 소유자 및 그룹 구성원을 제외한 모든 사람이 파일에 액세스할 수 없도록 설정

일반적으로 모든 사용자가 탐색할 수 있지만 파일을 읽을 수 없고 실행할 수 없도록 하는 디렉토리가 있습니다.

내가 원하는 것과 정확히 일치하지 않는 몇 가지 관련 질문이 있습니다.

  • 이 질문을(를) 사용하고 있습니다 umask. 이 파일은 이미 생성되었으므로 적용되지 않습니다.

  • 이 질문ACL을 사용하고 있습니다. 하지만 여기서는 UNIX 권한을 사용하고 싶습니다.

나는 주로 find명령을 사용하지만 몇 가지 약점이 있다는 것을 알고 있습니다. 더 나은 방법이 있을 수 있다고 생각하는 이유와 함께 잠시 후에 잠재적인 답변으로 게시하겠습니다.

답변1

나는 일반적으로 다음을 사용합니다.

find . -type f -print0 | xargs -0 sudo chmod 440
find . -type d -print0 | xargs -0 sudo chmod 555

그러나 실행 파일은 고려되지 않습니다. 나는 파일에 대해 다음과 같은 작업을 수행하려고 생각했습니다.

find . -type f -print0 | xargs -0 sudo chmod ug+r ug-w o-rwx

하지만 여전히 두 개의 명령이고 이것이 최선의 방법인지 확실하지 않습니다. 어쩌면 누군가가 더 나은 제안을 할 수도 있습니다.

답변2

음, 디렉터리와 그 안에 있는 파일에 동일한 권한을 설정하지 마세요.

$ chmod g+rx directory/
$ chmod g= directory/*

여기에서 그룹 구성원은 디렉터리에 들어가 검색할 수 있지만 그 안에 있는 파일을 읽을 수는 없습니다.

편집: 새 제목과 관련하여 다음을 제안합니다.

$ chmod a+rx directory/
$ chmod u=rwX,g=rX,o= *

답변3

이미 생성된 디렉터리 및 파일의 경우:

찾기 /start_directory -type d -exec chmod 755 {} \;

/start_directory -type f -exec chmod 660 {} \;

사용자가 새 파일 및/또는 하위 디렉터리를 생성할 수 있어야 하는 경우 솔루션은 정확한 요구 사항에 따라 달라지므로 자세한 내용을 알려주십시오.

관련 정보