하위 디렉터리(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 {} \;

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

관련 정보