chown 명령어 개요
chown은 시스템 내 특정 파일이나 디렉터리의 소유자 및 소속 그룹을 변경하는 기본 명령어입니다. 해당 명령어는 단일 파일뿐 아니라 계층 구조 전체를 대상으로 적용할 수 있으며, 권한 관리에 필수적인 도구입니다.
기본 문법
chown [옵션] ... [소유자][:[그룹]] 파일 목록
chown [옵션] ... --reference=참조파일 파일 목록
- 소유자: 사용자 이름 또는 유저 ID (UID)
- 그룹: 그룹 이름 또는 그룹 ID (GID)
- 소유자만 지정하면 그룹은 유지되고, 그룹만 지정하면 소유자는 유지됩니다.
- 소유자와 그룹 모두 생략 시 변경 없음.
주요 옵션 설명
-c,--changes: 변경이 발생한 경우에만 메시지 출력-f,--silent,--quiet: 일반적인 오류 메시지 숨김-v,--verbose: 처리된 각 파일에 대한 상세 정보 출력--dereference: 심볼릭 링크가 가리키는 실제 파일을 대상으로 함 (기본 동작)-h,--no-dereference: 심볼릭 링크 자체를 대상으로 함 (링크 본체 변경)--from=현재소유자:현재그룹: 현재 소유자/그룹이 일치할 때만 변경 수행--preserve-root: 루트 디렉터리(/)에 대해 재귀 작업 금지 (기본값)--no-preserve-root: 루트 디렉터리도 재귀적으로 처리 가능--reference=파일명: 참조 파일의 소유자와 그룹을 가져와 적용-R,--recursive: 디렉터리 하위 모든 항목에 대해 재귀적 적용
재귀 탐색 모드 제어 옵션
-R 옵션이 활성화된 경우, 다음 중 하나만 유효합니다.
-H: 명령줄 인자로 주어진 심볼릭 링크는 따라감-L: 디렉터리 내부의 모든 심볼릭 링크를 따라감-P: 심볼릭 링크를 무시하고 원본 경로만 처리 (기본 동작)
사용 예시
단일 파일 소유자 변경
[root@xuexi ~]# ls -l newDir/Dir/
합계 0
-rw-r--r--. 1 root root 0 11월 9 15:41 1.txt
-rw-r--r--. 1 root root 0 11월 9 15:41 2.txt
[root@xuexi ~]# chown -v xf newDir/Dir/*
changed ownership of "newDir/Dir/1.txt" from root to xf
changed ownership of "newDir/Dir/2.txt" from root to xf
[root@xuexi ~]# ls -l newDir/Dir/
합계 0
-rw-r--r--. 1 xf root 0 11월 9 15:41 1.txt
-rw-r--r--. 1 xf root 0 11월 9 15:41 2.txt
디렉터리 및 하위 파일 재귀 변경
[root@xuexi ~]# chown -vR xf newDir/Dir
changed ownership of "newDir/Dir/1.txt" from root to xf
changed ownership of "newDir/Dir/2.txt" from root to xf
changed ownership of "newDir/Dir" from root to xf
소유자와 그룹 동시 변경
[root@xuexi ~]# chown -vR root:xf newDir/Dir
changed ownership of "newDir/Dir/1.txt" from xf:root to root:xf
changed ownership of "newDir/Dir" from xf:root to root:xf
그룹만 변경 (소유자 유지)
[root@xuexi ~]# chown -vR :root newDir/Dir
changed ownership of "newDir/Dir/1.txt" from root:xf to :root
changed ownership of "newDir/Dir" from root:xf to :root
보완 정보
chgrp 명령어는 그룹 변경에 특화되어 있으며, chown :그룹명과 동일한 효과를 제공합니다. 별도의 그룹 변경이 필요할 경우 chgrp를 사용하는 것이 더 명확합니다.