어떻게 파일을 chmod할 수 있나요?

어떻게 파일을 chmod할 수 있나요?

많은 하위 디렉터리와 파일이 포함된 디렉터리가 있는데 다음과 같은 방법으로 해당 디렉터리에 있는 파일의 권한을 변경하고 싶습니다. 기본적으로 디렉토리를 더 잘 보호하고 싶습니다.

첫째, 모두목차재귀적으로 chmod를 750으로 변경해야 하지만 디렉토리에만 해당됩니다.

파일의 경우: 파일의 기본 사용자가 +x인 경우 750으로 변경해야 하며, 그렇지 않으면 640으로 변경해야 합니다(+x 없음, 기본 사용자인 r/w, 그룹인 r, 다음에 대한 권한이 없음을 의미). 세계).

이것은 작동해야합니다모두모든 디렉토리의 파일.

이를 수행할 수 있는 방법이 있습니까?

답변1

X(대문자 X) 패턴 문자는 chmod하드 비트를 수행합니다. 일부 사용자가 이미 존재하는 경우에만 실행 권한을 추가할 수 있습니다.

chmod -R g+rX-w,o= /path/to/directory

(필요한 경우 사용자 권한 변경 사항을 추가하세요.)

답변2

"기본 사용자"가 파일 소유자를 의미한다고 생각했습니까? 찾기가 당신을 위한 것일 수도 있습니다. /dir이 모든 작업을 수행하는 디렉토리라고 가정합니다.

# find /dir -type d -exec chmod 750 {} \;
# find /dir -type f -perm -u-x -exec chmod 640 {} \;
# find /dir -type f -perm -u+x -exec chmod 750 {} \;

첫 번째는 모든 디렉터리를 750으로 변경합니다. 두 번째는 소유자 실행 권한이 없는 파일을 640으로 변경합니다. 세 번째는 +x를 사용하여 사용자의 파일을 750으로 변경합니다. 이것들은 아마도 find 명령으로 결합될 수 있지만 지금 당장 소비해야 하는 것보다 시간이 조금 더 걸릴 것입니다.

관련 정보