개요
리눅스 및 우분투 환경에서 파일과 디렉터리의 소유권 관리는 시스템 보안과 권한 제어의 핵심입니다. 본 가이드에서는 chown 명령어의 기본 문법부터 사용자·그룹 동시 변경, 하위 디렉터리 재귀 적용(-R), 그리고 참조 파일 활용법까지 실무에서 즉시 쓰이는 핵심 패턴을 다룹니다.
1. 파일 소유자 변경 기본 실습
소유권 변경 실습을 위해 touch test_file.txt && ls -l test_file.txt 명령어로 테스트용 빈 파일을 생성하고 현재 소유자(root) 정보를 확인합니다.

chown 명령어는 파일이나 디렉터리의 소유자 및 소유 그룹을 변경하는 명령어입니다.
단일 파일의 소유자를 변경하기 위해 관리자 권한으로 sudo chown nobody test_file.txt 명령어를 실행합니다.
⚙️ [주요 옵션]
-R : 디렉터리와 그 내부의 모든 파일 및 하위 디렉터리의 소유권을 재귀적으로 변경합니다.-v : 소유권 변경 작업이 수행된 각 파일의 처리 과정을 상세하게 출력합니다.-c : 실제로 소유권 변경이 발생한 파일에 대해서만 상세 정보를 출력합니다.-f : 대부분의 오류 메시지를 출력하지 않도록 숨깁니다.--reference : 지정한 참조 파일의 소유자 및 그룹 설정을 대상 파일에 동일하게 복사하여 적용합니다.

ls -l test_file.txt 명령어로 파일의 상세 정보를 다시 조회하여 소유자가 기존 root에서 nobody로 정상 변경되었음을 확인합니다.

2. 소유자와 그룹 동시 변경하기
소유자와 그룹 동시 변경 실습을 위해 touch web_config.conf && ls -l web_config.conf 명령어로 설정 파일을 생성하고 현재 root 소유권 정보를 확인합니다.

파일의 소유자와 소유 그룹을 동시에 변경하기 위해 sudo chown www-data:www-data web_config.conf 명령어를 실행합니다.
콜론(:) 기호로 구분하여 소유자와 그룹을 한 번에 지정하면 웹 서버 환경 등에서 필요한 권한을 간편하게 설정할 수 있습니다.

변경 사항을 확인하기 위해 ls -l web_config.conf 명령어로 파일의 상세 정보를 조회합니다.
파일의 소유자와 그룹이 모두 root에서 www-data로 정상 변경되었음을 확인할 수 있습니다.

3. 디렉터리 및 하위 파일 일괄 변경 (-R 옵션)
하위 디렉터리를 포함한 재귀적 소유권 변경 실습을 위해 mkdir -p /tmp/project_dir/sub && touch /tmp/project_dir/file1.txt /tmp/project_dir/sub/file2.txt 명령어로 테스트용 디렉터리 구조와 파일들을 생성합니다.

소유권을 변경하기 전 현재 파일과 디렉터리의 소유자 정보를 확인하기 위해 ls -lR /tmp/project_dir 명령어를 실행합니다.
출력 결과를 통해 최상위 디렉터리와 하위 디렉터리 내부 파일 모두 root 계정 소유로 설정되어 있음을 확인할 수 있습니다.

디렉터리와 그 내부에 존재하는 모든 하위 디렉터리 및 파일의 소유자와 그룹을 일괄 변경하기 위해 관리자 권한으로 sudo chown -R nobody:nogroup /tmp/project_dir 명령어를 실행합니다.-R 옵션을 지정하면 디렉터리 계층 구조를 재귀적으로 탐색하여 대상 경로 하위의 모든 항목에 소유권 변경이 적용됩니다.

소유권 일괄 변경 작업이 정상적으로 반영되었는지 확인하기 위해 ls -lR /tmp/project_dir 명령어로 하위 목록을 다시 조회합니다.file1.txt 파일뿐만 아니라 sub 디렉터리와 그 내부의 file2.txt 파일까지 모두 nobody:nogroup으로 정상 변경되었음을 확인할 수 있습니다.

4. 기준 파일을 참조하여 소유권 복제하기 (–reference)
소유권 복제 실습을 진행하기 위해 touch source_file.txt target_file.txt 명령어로 기준 파일과 대상 파일을 생성합니다.

기준 파일의 소유자와 그룹을 설정하기 위해 관리자 권한으로 sudo chown daemon:daemon source_file.txt 명령어를 실행합니다.

두 파일의 소유권 상태를 확인하기 위해 ls -l source_file.txt target_file.txt 명령어를 실행합니다.
출력 결과를 통해 source_file.txt는 daemon:daemon으로, target_file.txt는 root:root로 설정되어 있음을 확인할 수 있습니다.

기준 파일의 소유자 및 그룹 설정을 대상 파일에 그대로 복제하기 위해 sudo chown --reference=source_file.txt target_file.txt 명령어를 실행합니다.--reference 옵션을 사용하면 소유자와 그룹명을 직접 입력하지 않고도 특정 파일과 동일한 소유권 구조를 손쉽게 적용할 수 있습니다.

소유권 복제 작업이 정상적으로 완료되었는지 확인하기 위해 ls -l source_file.txt target_file.txt 명령어로 파일 목록을 다시 조회합니다.target_file.txt의 소유자와 그룹이 기준 파일과 동일하게 daemon:daemon으로 변경되었음을 확인할 수 있습니다.

지금까지 리눅스 파일 소유권의 기본 개념과 chown 명령어를 활용한 실무 변경 방법들을 간단하게 정리해보았습니다.
소유권과 그룹 권한을 적절히 설정하여 더욱 안전하고 체계적으로 리눅스 시스템을 관리해보시길 바랍니다.