SW/리눅스

Linux : Chgrp 명령어, 사용 방법, 예제 (그룹 변경 방법)

얇은생각 2021. 12. 19. 07:30
반응형

Linux에서 각 파일은 소유자 및 그룹과 연결되며 파일을 읽거나, 쓰거나, 실행할 수 있는 사용자를 결정하는 권한을 가집니다.

이 자료에서는 chgrp 명령을 사용하여 지정된 파일의 그룹 소유권을 변경하는 방법에 대해 설명합니다.

 

 

Linux : Chgrp 명령어, 사용 방법, 예제 (그룹 변경 방법)

 

 

chgrp 명령 구문

chgrp 명령의 형식은 다음과 같습니다.

chgrp [OPTIONS] GROUP FILE..

 

 

GROUP, 새 그룹의 이름 또는 그룹 ID(GID)입니다. 숫자 GID는 + 기호 앞에 와야 합니다.

FILE..., 하나 이상의 파일 이름입니다.

 

사용자 및 그룹 소유권을 변경할 수 있는 chown 명령과 달리 chgrp는 그룹 소유권만 변경합니다.

파일이 속한 그룹을 확인하려면 ls -l 명령을 사용합니다. 

일반 사용자는 파일을 소유하는 경우에만 파일 그룹을 변경할 수 있으며, 자신이 구성원으로 속해 있는 그룹으로만 변경할 수 있습니다. 관리 사용자는 모든 파일의 그룹 소유권을 변경할 수 있습니다.

 

 

파일 그룹 소유권을 변경하는 방법 

파일 또는 디렉토리의 그룹 소유권을 변경하려면 chgrp 명령 뒤에 새 그룹 이름 및 대상 파일을 인수로 호출합니다.

예를 들어 파일 이름 그룹을 www-data로 변경하려면 다음을 실행합니다.

chgrp www-data filename

 

 

권한이 없는 사용자에게 명령을 실행하면 "Operation not allowed"(작업이 허용되지 않음) 오류가 발생합니다. 오류 메시지를 표시하지 않으려면 -f 옵션을 사용하여 명령을 호출합니다. 기본적으로 성공 시 chgrp는 출력을 생성하지 않고 0을 반환합니다.

여러 파일을 chgrp 명령에 인수로 전달할 수도 있습니다.

chgrp www-data file1 file2 dir1

 

 

-v 옵션을 사용하여 처리 중인 파일에 대한 정보를 가져옵니다.

chgrp www-data file1 file2

# changed group of 'file1' from nginx to www-data
# group of 'file2' retained as www-data

 

 

실제로 변경되는 파일에 대한 정보만 인쇄하려면 -v 대신 -c를 사용합니다.

사용자 이름 대신 숫자 그룹 ID(GID)를 사용할 수 있습니다. 다음은 파일의 그룹 소유권을 GID가 1000인 새 그룹으로 변경하는 예입니다.

chgrp +1000 filename

 

 

 

Symlinks 그룹 소유권을 변경하는 방법

반복해서 작동하지 않는 경우 chgrp 명령의 기본 동작은 심볼 링크 자체가 아니라 심볼 링크 대상의 그룹 소유권을 변경하는 것입니다.

예를 들어, /opt/file1을 가리키는 심볼 링크 symlink1의 그룹을 변경하려고 하면 chgrp는 심볼 링크가 가리키는 파일 또는 디렉터리의 소유권을 다음과 같이 변경합니다.

chgrp www-data symlink1

 

 

대상 그룹을 변경하는 대신 "cannot deference 'symlink1: permission denied" 오류가 발생할 수 있습니다.

이 오류는 대부분의 Linux 배포에서 기본적으로 심볼 링크가 보호되며 대상 파일에서 작업할 수 없기 때문에 발생합니다. 이 옵션은 /proc/sys/fs/protected_symlinks에 지정되어 있습니다. 1은 enabled이고 0은 disabled입니다. Symlink 보호를 비활성화하지 않는 것이 좋습니다.

Symlink 자체의 그룹 소유권을 변경하려면 -h 옵션을 사용하십시오.

chgrp -hR www-data /var/www

 

 

 

그룹 소유권을 반복적으로 변경하는 방법

지정된 디렉토리에 있는 모든 파일 및 디렉토리의 그룹 소유권을 반복해서 변경하려면 -R 옵션을 사용하십시오.

예를 들어, 다음 명령은 /var/www 디렉토리에 있는 모든 파일 및 디렉토리의 소유권을 www-data 그룹으로 변경합니다.

chgrp -R www-data /var/www

 

 

재귀 옵션을 지정하면 chgrp는 심볼 링크를 이동하지 않으며 심볼 링크도 변경되지 않습니다. 심볼 링크의 그룹 소유권을 변경하려면 -h 옵션을 전달합니다.

chgrp -hR www-data /var/www

 

 

그룹 소유권을 반복적으로 변경할 때 사용할 수 있는 다른 옵션은 -H 및 -L입니다.

chgrp 명령에 전달된 인수가 심볼 링크인 경우 -H 옵션을 사용하면 명령이 해당 링크를 통과하게 됩니다. -L은 chgrp에게 발견된 디렉토리로 각 심볼 링크를 이동하도록 지시합니다. 대부분의 경우 시스템을 엉망으로 만들거나 보안 위험이 발생할 수 있으므로 이러한 옵션을 사용하면 안 됩니다.

chgrp는 파일, 디렉터리 및 심볼 링크의 그룹 소유권을 변경합니다.

더 많이 사용되는 chown 명령을 사용하여 그룹을 변경할 수 있지만 chgrp에는 기억하기 쉬운 간단한 구문이 있습니다.

chgrp 명령에 대한 자세한 내용은 chgrp man 페이지를 방문하거나 터미널에 man chgrp를 입력하십시오.

반응형