내 시스템의 기본 umask 설정으로 인해 파일 권한은 항상 그룹에 기본적으로 부여되고 다른 사람에게는 액세스 권한이 없습니다. 일반적으로 괜찮지만 다른 사람이 액세스해야 하는 소프트웨어를 설치하면 짜증이 납니다. 설치 후 사용 권한을 기준으로 트리에 있는 모든 파일 및 폴더의 권한을 재설정하는 빠른 방법이 있습니까?
쓰기를 제외한 기본적으로 사용자를 복사합니다.
rwx------ to rwxr-xr-x
rw------- to rw-r--r--
답변1
find
이를 수행하려면 다음 방법을 사용할 수 있습니다 .
find <dirpath> -perm 700 -type d -exec chmod 755 {} \; ## For directories
find <dirpath> -perm 600 -type f -exec chmod 644 {} \; ## For files
답변2
다음을 수행할 수 있습니다.
find . ! -type l -print0 |
perl -0 -lne '
$m = (lstat$_)[2] & 07777;
$u = ($m >> 6) & 5;
chmod $m | $u | ($u<<3), $_'
즉, 사용자 권한을 얻고 제거합니다.쓰다비트( & 5
) 및또는그게 도착한다그룹그리고다른권한.
답변3
당신이 선량한 UNIX 사용자이고 파일 이름에 공백이 없다고 가정합니다.
for file in $(find . -type f -o -type d)
do \
user_perm=$(stat -c %a $file |cut -c1)
other_perm=$(($user_perm&5))
chmod $user_perm$other_perm$other_perm $file
done