특정 파일을 찾아 권한 변경

특정 파일을 찾아 권한 변경

서로 다른 액세스 권한을 가진 여러 파일이 포함된 Permissions라는 디렉터리가 있다고 가정해 보겠습니다.

내가 원하는 것은 파일에 카테고리에 대한 액세스 권한이 있는 경우 해당 카테고리에 동일한 액세스 권한을 부여 others하고 싶습니다 .group

예 1: file_1에 가 있으면 r-x---r--파일에 권한이 있기를 원합니다.r-xr--r--

예 2:

file_2에 권한이 있고 r-xr----x그렇게 되기를 원합니다.r-xr-x--x

예시 3:

file_3 및 file_4에는 각각 액세스 권한이 있으며 rw---x---이러한 rwxr-----파일은 변경되지 않은 상태로 유지되어야 합니다.

find그러한 파일을 검색한 다음 그 값을 변경할 수 있다는 것을 알고 있지만 -perm 0740권한과 다른 권한을 가진 파일만 검색하고 파일이 -exec chomd --- \;발견되면 권한과 일치하도록 액세스 권한을 변경하려면 어떻게 해야 합니까?othergroupgroupother

답변1

chmod이건 너 스스로 할 수 있어:

chmod -R g+o dir

문자 조합은 ugoa파일에 대한 사용자의 액세스 권한을 제어합니다. [...] 파일 그룹의 다른 사용자(g), [...]

연산자 +를 사용하면 선택한 파일 모드 비트가 각 파일의 기존 파일 모드 비트에 추가됩니다. [...]

이 문자는 rwxXst영향을 받는 사용자에 대한 파일 모드 비트를 선택합니다. [...] 다음 문자 중 하나 이상 대신 다음 문자 중 하나를 지정할 수 있습니다 ugo. [...] 그리고 이 두 문자에 속하지 않는 사용자에게 권한을 부여합니다. 처음 두 범주 중 (o).

답변2

GNU find와 루프를 사용하면 r w x설정되지 않았지만 group설정되어 있는 모든 권한을 검색하여 others다음과 같이 설정할 수 있습니다 group.

for perm in r w x; do
  find . -type f \! -perm /g+"$perm" -perm /o+"$perm" -exec chmod g+"$perm" {} \;
done

관련 정보