여러 파일에 777 권한이 있습니다

여러 파일에 777 권한이 있습니다

저는 Python과 Bash 스크립팅을 배워왔고 지금까지 스크립트에 777개의 권한을 부여했습니다. 권한을 설정하는 방법에 대해 자세히 알아보고 이것이 좋지 않은 생각이라는 것을 알고 나서 다음 명령을 실행했습니다(Mac OSX, v10.6.8).

find / -type f -perm 0777

나는 777 권한이 할당된 파일의 작은 목록만 얻을 것으로 예상했지만 대신 큰 목록을 얻었습니다. (정확히는 1,503개입니다.) 여기에는 내 소수의 스크립트뿐만 아니라 모든 이미지 파일, html 및 css 파일, 전자책과 함께 제공되는 샘플 코드, Adobe Flash Catalyst, Smith, 그리고 더 많은 Files Micro Anime Studio, Microsoft Play Ready(Silverlight의 일부인 것으로 생각됩니다) 등이 있습니다.

저는 이 부분이 조금 낯설지만 그게 문제가 되지 않나요? 모든 파일에 777 권한이 있어야 합니까?

답변1

파일 777권한 부여는 실제로 비정상입니다. 파일에 그러한 권한이 부여되는 정당한 이유가 없다고 생각할 수는 없지만, 존재한다면 정말 타당한 이유가 있는 것이 좋습니다.

이러한 권한을 즉시 변경하는 것이 좋습니다.

  • 최소한 다른 모든 사람의 쓰기 권한을 제거하십시오.chmod -R o-w
  • 또한 그룹에 대한 쓰기 권한을 제거하고 싶을 수도 있습니다.chmod -R g-w
  • 개인적으로 저는 실행 가능한 비트가 포함된 이미지/오디오/비디오/문서 파일을 보는 것을 정말 좋아하지 않습니다. 다음과 같은 항목도 삭제하겠습니다.find /path -name '*.png' -exec chmod a-x {} \;

앞으로는 더 조심하세요. 보안 101 실제로 필요한 것보다 더 많은 권한을 부여하지 마십시오. 예를 들어 먼저 모든 파일 0400과 모든 디렉터리를 로 설정한 0500다음 무엇이 작동하지 않는지 확인하고 점차적으로 최소한의 권한을 추가할 수 있습니다.

umask시스템의 출력은 무엇입니까? 그때보다 느슨 하다면 명령어를 0022추가해야 할 수도 있을 것 같습니다 . 기본적으로 이로 인해 그룹 및 다른 사용자에 대한 쓰기 권한 없이 새 파일을 생성하게 됩니다.~/.bashrcumask 0022

답변2

모든 파일에 권한 777이 필요한 것은 아닙니다.

권한은 다음과 같습니다: rwxrwxrwx, "rwx" 세 그룹으로 나뉩니다. 첫 번째 그룹은 소유자 사용자, 두 번째 그룹은 소유자 그룹, 세 번째 그룹은 기타 그룹입니다.

777은 111 111 111의 바이너리 버전이므로: 777 -> rwxrwxrwx

또 다른 예: 760 ->rwxrw----

파일이 실행 가능하지 않다면 전자책처럼 실행 권한을 부여할 필요가 없습니다.

bash 스크립트와 같은 실행 가능한 프로그램이 있고 다른 사람이 스크립트를 실행하는 것을 원하지 않는 경우 세 번째 부분의 세 번째 숫자는 0이어야 합니다. 즉, ? ? ? ??? ??0

예를 들어, 다른 사람이 스크립트를 읽을 수 있기를 원하지만 스크립트를 작성하거나 실행하는 것은 허용하지 않으므로 권한은 다음과 같습니다. ??? ??? r-- =>??4

관련 정보