Windows에서 많은 하위 폴더와 파일이 포함된 폴더를 7zip으로 압축하고 VPS에 업로드한 다음 다음 명령을 실행합니다.
tar -xvzf file.tar.gz
그러면 압축을 푼 모든 파일과 폴더의 권한은 777입니다. 폴더에 권한이 755이고 파일이 644가 되도록 하려면 어떻게 해야 합니까?
답변1
tar(1)
일반 사용자로 실행하는 경우 umask
기본적으로 적용됩니다. tar(1)
로 실행 중인 경우 명령줄 옵션을 제공 root
하여 .--no-same-permissions
tar(1)
umask
따라서 다음을 일반 사용자로 실행하십시오.
umask 022
tar zxvf file.tar.gz
또는 다음과 같이 실행하십시오 root
.
umask 022
tar zxvf file.tar.gz --no-same-permissions
, 또는 umask 022
을 고수하고 싶을 수도 있습니다 . ( 시작 파일에 대한 자세한 내용은 맨페이지를 참조하세요. 복잡합니다.)~/.bashrc
~/.bash_profile
~/.profile
bash(1)
자세한 내용은 umask
쉘의 맨페이지, umask(2)
시스템 호출 맨페이지 또는 umask(1posix)
POSIX 제공 유틸리티 맨페이지(설치된 경우 manpages-posix
)에서 찾을 수 있습니다.
답변2
디렉터리 루트에서 다음 명령을 실행하여 디렉터리 및 파일에 대해 원하는 권한을 설정합니다.
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
닫는 중괄호와 백슬래시 사이의 공백에 유의하세요.
답변3
대문자 X를 사용하면 chmod
이를 사용하여 디렉터리에만 실행 권한을 설정할 수 있습니다. 즉
chmod -R ugo+X .
답변4
찾다 . -type f -exec chmod 644 {} \;