chown — 리눅스 기본 명령어
Linux / 리눅스 기본 명령어 / chown.html
파일과 디렉토리의 소유자 및 소유 그룹을 변경하는 명령어.
기본 정보
| 명령어 이름 | chown (change owner) |
|---|---|
| 한 줄 소개 | 파일과 디렉토리의 소유자 및 소유 그룹을 변경하는 명령어. |
| 제공 | GNU coreutils (모든 Linux 배포판 기본 탑재) |
| 공식 문서 | https://man7.org/linux/man-pages/man1/chown.1.html |
| 지원 운영체제 | Linux, macOS, BSD, WSL |
| 설치 여부 | 기본 탑재 (별도 설치 불필요) |
| 분류 | 리눅스 기본 명령어 (태그: 소유자, 권한, 리눅스, 기본) |
이 명령어는 무엇인가?
chown은 change owner의 약자로, 파일과 디렉토리의 소유자(주인)와 소유 그룹을 변경하는 명령어입니다. 리눅스에서 파일의 권한 관리는 chmod(권한 변경)와 chown(소유자 변경)으로 나뉩니다.
root 권한이 필요하며, -R 옵션으로 디렉토리 전체의 소유자를 일괄 변경할 수 있습니다.
어떤 문제를 해결하는가?
- 배포 후 웹 파일의 소유자를 변경합니다.
- 소유자가 잘못 지정된 파일을 수정합니다.
- 서비스 계정에 파일 소유권을 부여합니다.
- 디렉토리 전체의 소유자를 일괄 변경합니다.
주요 기능
소유자 변경
파일의 소유자를 다른 사용자로 변경합니다.
- 활용 상황: 배포 후 파일 소유자를 www-data 등으로 변경할 때.
- 얻는 결과: 지정한 사용자가 파일의 소유자가 됩니다.
- 제한 사항: root 권한이 필요합니다.
그룹 변경
파일의 소유 그룹을 변경합니다.
- 활용 상황: 팀 공유 디렉토리의 그룹을 설정할 때.
- 얻는 결과: 지정한 그룹이 소유 그룹이 됩니다.
- 제한 사항: 변경하려는 그룹의 멤버여야 합니다 (root 제외).
소유자·그룹 동시 변경
user:group 형식으로 한 번에 변경합니다.
- 활용 상황: 소유자와 그룹을 동시에 설정할 때.
- 얻는 결과: 두 속성이 모두 변경됩니다.
- 제한 사항: 문법이 틀리면 오류가 발생합니다.
재귀 변경 (-R)
디렉토리와 하위의 모든 파일에 소유자를 적용합니다.
- 활용 상황: 웹 루트 디렉토리 전체의 소유자를 변경할 때.
- 얻는 결과: 하위 파일까지 모두 변경됩니다.
- 제한 사항: 시스템 디렉토리에 사용 시 주의가 필요합니다.
설치 및 실행
기본 탑재 확인
모든 Linux 배포판에 기본 포함되어 있습니다.
which chown
chown --version
현재 소유자 확인
현재 파일의 소유자를 확인합니다.
ls -l file.txt
# -rw-r--r-- 1 www-data www-data 1024 Oct 18 12:00 file.txt
# ^^^ 소유자 ^^^ 그룹
실제 사용 예제
기본 소유자 변경
파일의 소유자를 변경합니다.
# 소유자를 www-data로 변경
sudo chown www-data file.txt
# 소유자와 그룹 동시 변경
sudo chown www-data:www-data file.txt
# 그룹만 변경
sudo chown :developers file.txt
디렉토리 재귀 변경
디렉토리 전체의 소유자를 변경합니다.
# 웹 루트 전체 소유자 변경
sudo chown -R www-data:www-data /var/www/html/
# 특정 사용자 소유로 변경
sudo chown -R ubuntu:ubuntu /home/ubuntu/project/
참조 파일 소유자 복사
다른 파일의 소유자를 그대로 복사합니다.
# reference 파일의 소유자를 복사
sudo chown --reference=template.conf new.conf
# 여러 파일 일괄 변경
sudo chown www-data:www-data file1.txt file2.txt file3.txt