1개의 명령으로 모든 폴더 권한 변경

1개의 명령으로 모든 폴더 권한 변경

내 웹 응용 프로그램 디렉터리에서 모든 폴더 권한을 (755)로 변경하려면 어떻게 해야 합니까 rwxr-xr-x? 모든 파일 권한을 rw-r--r--(644)로 변경하는 방법은 무엇입니까? 하위 하위 파일과 폴더를 포함한 모든 폴더와 파일을 변경하고 싶습니다.

다음 명령이 모든 파일과 폴더를 변경한다는 것을 알고 있지만 파일과 폴더를 구별하고 싶습니다.

chmod -R 755 ./my_web_app_project

답변1

하나의 명령으로 원하는 작업을 정확하게 수행하는 한 가지 방법은 find다음과 같습니다.

find my_web_app_project '(' -type f -exec chmod 644 {} ';' ')' -o '(' -type d -exec chmod 755 {} ';' ')'

-o또는을 의미합니다. 이 명령은 프로젝트 트리에서 "파일" 유형의 모든 개체를 처리합니다.또는"디렉토리"를 입력하고 각 개체의 유형에 따라 다른 명령을 실행합니다.

';'세미콜론( )을 더하기 기호( )로 바꾸면 효율성을 약간 향상시킬 수 있습니다. +이는 모든 일반 파일의 이름을 인수로 사용하여 한 번 find 실행 하고 모든 디렉터리의 이름을 인수로 사용하여 한 번 실행하도록 지시합니다.chmod 644chmod 755

./ 그건 그렇고, 현재 디렉터리에서 프로그램을 실행하는 것 외에는 아무 말도 할 필요가 없습니다(비록 이름이 일부 특수 문자로 시작하는 파일을 조작할 때 유용할 때도 있지만).


현재 귀하의 권한이 어떻게 보이는지 알고 싶습니다(재귀 트리 범위를 실행하기 전 chmod). 파일은 실제로 실행 가능한 프로그램이 아니거나 실수로 그런 일을 하지 않는 한 일반적으로 실행 권한 비트가 켜져 있지 않습니다 chmod -R 755. 숫자 모드의 chmod -R 644현명하지 못한 사용으로 인해 권한이 심각하게 엉망이 되었기 때문에 chmod -R이 답변의 시작 부분에 있는 명령을 고수하세요 .

그러나 귀하의 권한이 일반적으로 합리적이고 사용자에게는 읽기/쓰기 권한 기준을 적용하고 다른 사람(그룹 및 월드)에게는 읽기 전용 권한만 적용하려는 경우 다음을 수행할 수 있습니다.

chmod -R +rX,u+w,go-w my_web_app_project

~에

  • +rX+r,+X(은(는) 대문자로 표시됩니다 . X중요합니다.)
    • +r사용자, 그룹 등에 대한 읽기 권한 설정을 나타냅니다.
    • +X사용자, 그룹 등에 대한 실행 권한 설정을 나타냅니다. 현재 다음 중 하나에 대해 설정되어 있는 경우또는 객체가 디렉토리인 경우.
  • u+w사용자에게 쓰기 권한을 설정한다는 의미입니다.
  • go-w그룹 및 기타 쓰기 권한이 꺼져 있음을 나타냅니다.

몇 가지 핵심 사항을 요약하면 다음과 같습니다.

  • 물론, chmod권한이 없는 경우 자신이 소유한 항목에만 액세스할 수 있으며 읽기 전용이 아닙니다. 디렉터리에 수행할 수 없는 작업이 있는 경우 chmod이러한 명령 중 하나를 사용하면 오류가 발생합니다 .
  • 이러한 find명령은 디렉터리나 파일(예: 명명된 파이프) 외부 콘텐츠에 대해서는 어떠한 작업도 수행하지 않습니다.
  • 최상위 디렉터리 아래의 모든 폴더에 대한 읽기 및 실행 권한이 아직 없으면 find명령이 실패할 수 있습니다.-exec chmod 755 {} +
  • chmod -R +rX,u+w,go-w명령은
    • 모든 디렉터리를 모드 755로 설정하고,
    • 심볼릭 링크를 무시하고,
    • 다른 모든 파일 형식(명명된 파이프 포함)의 경우:
      • 이미 하나 이상의 비트가 있으면 755로 설정합니다 x.
      • 644로 설정하세요.

답변2

당신은 할 수 없습니다. 두 가지 명령이 필요합니다.

find ./my_web_app_project -type d -exec chmod 755 {} \;
find ./my_web_app_project -type f -exec chmod 644 {} \;

편집하다:

더 정확하므로 G-Man의 답변을 참조하십시오.

관련 정보