지정된 권한으로 파일 및 폴더 추출

지정된 권한으로 파일 및 폴더 추출

Windows에서 많은 하위 폴더와 파일이 포함된 폴더를 7zip으로 압축하고 VPS에 업로드한 다음 다음 명령을 실행합니다.

tar -xvzf file.tar.gz

그러면 압축을 푼 모든 파일과 폴더의 권한은 777입니다. 폴더에 권한이 755이고 파일이 644가 되도록 하려면 어떻게 해야 합니까?

답변1

tar(1)일반 사용자로 실행하는 경우 umask기본적으로 적용됩니다. tar(1)로 실행 중인 경우 명령줄 옵션을 제공 root하여 .--no-same-permissionstar(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~/.profilebash(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 {} \;

관련 정보