그룹과 사용자에게 동일한 권한을 재귀 적으로 부여하는 Chmod 파일


16

디렉토리 트리에 대해 사용자가 현재 파일별로 재귀 적으로 가지고있는 것과 동일한 권한을 그룹에 부여하는 유닉스 명령이 있습니까? 즉, 파일이 사용자 쓰기 가능 파일이면 그룹 쓰기 가능해야하며, 그렇지 않으면 그룹 쓰기 가능하지 않아야합니다.

chmod 

답변:


25

우리에게 g = u. 내 시스템에서 이것은 작동하는 것 같습니다.

chmod -R g=u dir

1
또한 디렉토리의 권한도 변경됩니다. 원래 질문은 파일을 지정했습니다.
jamessan

@jamessan, 어떤 디렉토리인지.
Mike Graham

@Mike는 * nix가 거의 모든 것을 파일로 취급 할 수 있다고해서 디렉토리가 실제로 파일이라는 것을 의미하지는 않습니다. 동일하다는 것을 인정하더라도 디렉토리 트리에서 모든 파일의 권한을 변경하는 것과 디렉토리 트리에서 모든 파일 및 디렉토리의 권한을 변경하는 것에는 분명한 기능상의 차이가 있습니다.
jamessan

다시 한 번 내 문제에 대한 직접적인 해결책이 있습니다. 왜 놀라지 않습니까?
rzetterberg


0

기존 명령으로 쉽게 수행 할 수있는 방법을 생각할 수 없습니다. 다음과 같은 스크립트가 도움이 될 것입니다.

#!/bin/bash

DIR="$1"

find "$DIR" -ls | while read a b perm c d e f g h i file; do
   uperm=${perm:1:3}
   uperm=$(echo "$uperm" | tr -d '-')
   chmod g=$uperm "$file"
done

또한 사용자에 대한 일부 권한은 그룹에 적용되지 않을 수 있으며 그 반대도 마찬가지입니다.


0

그러한 명령이 존재하는지 모르겠지만 찾기를 사용하고 몇 번 호출하면
예를 들어 수행하려는 작업을 수행 할 수 있습니다.

예를 들면 다음과 같습니다.
% find . -type f -perm -u+w -and ! -perm -g+w -exec chmod g+w {} \;

위의 명령은, "."현재 디렉토리를 통과하는 모든 가지고있는 파일을 찾아 쓰기 권한을
사용하지만 쓰기 그룹에 대한 권한 및 그룹 쓸 수있다 권한을 변경합니다.

마찬가지로 위의 변형 호출을 사용 하여 그룹의 읽기실행 모드에 대한 파일 권한을 변경합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.