Linux / 명령어 / chgrp - 파일 소유 그룹 변경

chgrp는 파일이나 디렉터리의 소유 그룹만 바꿉니다. 여러 사용자가 같은 작업 파일에 접근하도록 그룹을 맞출 때 사용합니다.

chgrp 명령어란?

그룹 소유권이 바뀌어도 파일의 그룹 권한 비트가 자동으로 추가되지는 않습니다. 실제 공유 접근을 허용하려면 대상의 그룹 읽기·쓰기 권한과 상위 디렉터리의 통과 권한도 함께 확인해야 합니다.

기본 문법

chgrp [옵션] 그룹 파일 ...

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man chgrp으로 현재 시스템의 설명을 확인하세요.

사용 예제

파일 그룹 변경

대상 그룹이 존재하고 변경 권한이 있는지 확인합니다.

sudo chgrp editors report.txt

여러 파일에 적용

명시한 파일만 변경합니다.

sudo chgrp editors draft.txt final.txt

변경 전후 확인

stat으로 그룹과 권한을 함께 봅니다.

stat -c '%U:%G %A %n' report.txt

그룹 변경 후 확인할 것

chgrp는 소유자는 그대로 두고 그룹 소유권만 바꿉니다. 아래 예제의 그룹은 미리 존재해야 하며, 호출 사용자에게 변경 권한이 있어야 합니다.

chgrp developers demo.txt
stat -c '%G %n' demo.txt

예시 출력:

developers demo.txt

권한이 없으면 Operation not permitted 오류가 날 수 있습니다. 소유 그룹이 바뀌어도 접근 가능 여부는 파일의 그룹 권한 비트와 현재 프로세스의 그룹 멤버십에 따라 달라집니다. 공유 디렉터리의 새 파일에 동일한 그룹을 유지하려면 디렉터리의 setgid 비트도 함께 검토하세요.

주요 옵션과 형식

옵션·형식 설명
-R 하위 경로까지 재귀 변경합니다.
-h 심볼릭 링크 자체의 그룹을 대상으로 합니다.
--reference=파일 참조 파일의 그룹을 사용합니다.
-v 처리한 파일을 자세히 표시합니다.

사용할 때 주의할 점

그룹만 바꾼 뒤에도 Permission denied가 나올 수 있습니다. ls -ld로 상위 디렉터리의 실행 권한과 파일의 그룹 권한을 확인하세요. chgrp -R은 범위가 넓고 심볼릭 링크 처리도 고려해야 하므로 정확한 대상에서만 실행합니다.

자주 묻는 질문

chgrp와 chown :그룹은 같은가요?

둘 다 그룹 소유권을 바꾸는 데 사용할 수 있습니다. 그룹만 바꾸려는 목적은 chgrp가 더 분명하게 드러냅니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 chgrp 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / chgrp - 파일 소유 그룹 변경

Linux / 명령어 / chgrp - 파일 소유 그룹 변경

Linux chgrp 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / blkid - 블록 장치 UUID와 파일 시스템 형식 조회

Linux / 명령어 / blkid - 블록 장치 UUID와 파일 시스템 형식 조회

Linux blkid 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / mount - 파일 시스템 연결 상태 확인과 마운트

Linux / 명령어 / mount - 파일 시스템 연결 상태 확인과 마운트

Linux mount 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / uname - 커널과 시스템 아키텍처 확인

Linux / 명령어 / uname - 커널과 시스템 아키텍처 확인

Linux uname 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / readlink - 심볼릭 링크 대상 경로 확인

Linux / 명령어 / readlink - 심볼릭 링크 대상 경로 확인

Linux readlink 명령어로 심볼릭 링크에 저장된 대상 경로를 확인하는 방법을 설명합니다. 상대 링크, 깨진 링크, 경로 정규화 옵션과 realpath의 차이도 정리합니다.

Linux / 리눅스 배포판 종류와 버전 확인하는 방법

Linux / 리눅스 배포판 종류와 버전 확인하는 방법

리눅스 배포판 종류와 버전을 /etc/os-release, hostnamectl, uname 명령으로 확인하는 방법을 설명합니다. 배포판 계열과 커널 버전의 차이, 스크립트 활용법과 컨테이너·WSL 환경의 주의점도 함께 정리합니다.

Linux / 명령어 / unxz - xz 압축 파일 풀기

Linux / 명령어 / unxz - xz 압축 파일 풀기

Linux unxz 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / jobs - 현재 셸의 작업 목록 확인

Linux / 명령어 / jobs - 현재 셸의 작업 목록 확인

Linux jobs 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / sync - 버퍼에 남은 쓰기 데이터 저장 요청

Linux / 명령어 / sync - 버퍼에 남은 쓰기 데이터 저장 요청

Linux sync 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / umount - 파일 시스템을 안전하게 분리

Linux / 명령어 / umount - 파일 시스템을 안전하게 분리

Linux umount 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.