일반적으로 모든 사용자가 탐색할 수 있지만 파일을 읽을 수 없고 실행할 수 없도록 하는 디렉토리가 있습니다.
내가 원하는 것과 정확히 일치하지 않는 몇 가지 관련 질문이 있습니다.
이 질문을(를) 사용하고 있습니다
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 {} \;
사용자가 새 파일 및/또는 하위 디렉터리를 생성할 수 있어야 하는 경우 솔루션은 정확한 요구 사항에 따라 달라지므로 자세한 내용을 알려주십시오.