셸 - 파일 압축을 풀고 모든 파일에 대한 권한 설정

셸 - 파일 압축을 풀고 모든 파일에 대한 권한 설정

Windows에서 zip 파일을 생성했는데 Linux에서 압축을 풀고 싶습니다. 추출된 파일에 대해 644 권한을 갖고 싶습니다. 그런데 추출된 파일은 770으로 끝납니다.

나는 열심히 노력했다

umask 644
unzip update.zip -d . 

그러나 압축이 풀린 파일에는 여전히 770 권한이 있습니다.

답변1

귀하의 umask모델이 잘못되었습니다.

# umask 644
# touch test1
# stat -c "%a %n" test1
22 test1

결과 파일을 얻으 644려면 umask 0022.

# umask 0022
# touch test2
# stat -c "%a %n" test2
644 test2

에서 man umask:

umask()는 호출 프로세스의 파일 모드 생성 마스크(umask)를 마스크 & 0777로 설정하고(즉, 마스크의 파일 권한 비트만 사용) 마스크의 이전 값을 반환합니다.

관련 정보