chown (Change Owner)
chown은 파일이나 디렉터리의 소유 사용자(Owner)와 소유 그룹(Group)을 변경하는 명령어입니다. 시스템 관리자(root) 권한이 있어야 다른 사용자로 소유권을 넘길 수 있습니다.
1. 기본 사용법
chown [옵션] 소유자[:그룹] 파일명
2. 주요 활용 패턴
| 명령어 형식 | 설명 |
|---|---|
chown kim file.txt |
파일의 소유자를 kim으로 변경 |
chown :dev file.txt |
파일의 그룹만 dev로 변경 |
chown kim:dev file.txt |
소유자는 kim, 그룹은 dev로 동시에 변경 |
chown kim: file.txt |
소유자를 kim으로 바꾸고, 그룹도 kim의 기본 그룹으로 변경 |
3. 주요 옵션
| 옵션 | 이름 | 설명 |
|---|---|---|
-R |
recursive | 하위 디렉터리 포함. 폴더 내부의 모든 파일과 서브 폴더의 소유권을 한 번에 변경합니다. |
-v |
verbose | 소유권이 변경된 파일의 상세 내역을 화면에 출력합니다. |
-c |
changes | 실제로 변경이 일어난 경우에만 상세 내역을 출력합니다. |
--reference |
reference | 특정 파일의 소유권 설정을 그대로 복사하여 대상 파일에 적용합니다. |
4. 실무 활용 예시
① 웹 서버 디렉터리 권한 일괄 변경
웹 서버(Nginx/Apache)가 파일을 읽을 수 있도록 소유권을 www-data로 변경할 때 자주 사용합니다.
sudo chown -R www-data:www-data /var/www/html
② 심볼릭 링크의 소유자 변경
기본적으로 chown은 링크가 가리키는 원본을 바꿉니다. 링크 자체의 소유자를 바꾸려면 -h 옵션을 씁니다.
sudo chown -h kim link_file
5. [팁] chmod와 chown의 차이점
- chmod: "이 파일을 누가 무엇을(rwx) 할 수 있는가?" (행위 제어)
- chown: "이 파일의 주인이 누구인가?" (자산 관리)