#command

[Linux] 파일/디렉토리 소유권(Owner/Group) 변경: chown 명령어 사용법 및 주의사항

리눅스 환경(CentOS 7)에서 파일 및 디렉토리의 소유자(User)와 그룹(Group)을 변경하는 chown 명령어 사용법을 정리합니다. 하위 경로까지 일괄 변경하는 -R 옵션과 실무 예제를 다룹니다.

0. 배경 지식 (Context)

리눅스의 모든 파일은 특정 사용자와 그룹에 속하게 됩니다. 보통 root 권한으로 설치하거나 복사한 파일은 소유권이 root로 되어 있어, 일반 애플리케이션 계정(예: wasadm, tomcat 등)에서 접근하거나 실행할 때 "Permission denied" 오류가 발생합니다. 이때 chown을 사용하여 소유권을 적절한 계정으로 넘겨주어야 합니다.

Test Environment

  • OS: CentOS 7 (3.10.0-957.el7.x86_64)
  • User: root (명령어 실행 주체), wasadm (대상 계정)

1. 기본 문법 (Syntax)

chown(Change Owner) 명령어의 기본 구조입니다. 루트(Superuser) 권한이 필요합니다.

# 소유자만 변경
chown [USER] [FILE]

# 소유자와 그룹 동시 변경 (가장 많이 사용)
chown [USER]:[GROUP] [FILE]

# 하위 디렉토리까지 재귀적 변경
chown -R [USER]:[GROUP] [DIRECTORY]

2. 실무 사용 예시 (Examples)

제공해주신 로그를 바탕으로 상황별 명령어 사용법을 분석합니다.

Step 1: 전체 초기화 (root 권한으로 설정)

-R 옵션을 사용하여 현재 디렉토리(*)의 모든 파일과 폴더를 root:root 소유로 변경합니다.

[root@localhost sw]# chown -R root:root *

# 확인
[root@localhost sw]# ls -alrt
drwxrwxrwx.  2 root root   6 Feb  5 01:49 img
drwx------.  2 root root   6 Feb  5 01:49 was
...
주의 (Warning):
chown -R은 매우 강력한 명령어입니다. 실수로 루트 디렉토리(/)나 시스템 디렉토리에서 실행할 경우 시스템 부팅이 불가능해질 수 있으므로, 실행 전 현재 경로(pwd)를 반드시 확인하십시오.

Step 2: 특정 서비스 계정으로 이관

WAS나 웹 서버 운영을 위해 특정 디렉토리(img, was)와 스크립트(Mem.sh)의 소유권을 wasadm 계정으로 변경합니다.

# 디렉토리 및 파일 소유권 변경 (wasadm 계정, wasadm 그룹)
[root@localhost sw]# chown wasadm:wasadm img
[root@localhost sw]# chown wasadm:wasadm was
[root@localhost sw]# chown wasadm:wasadm Mem.sh

Step 3: 변경 결과 검증 (Verification)

ls -l 명령어로 변경된 소유권을 확인합니다. 3번째 컬럼(Owner)과 4번째 컬럼(Group)이 변경된 것을 볼 수 있습니다.

[root@localhost sw]# ls -alrt
total 8
# 변경된 항목 (wasadm)
drwxrwxrwx.  2 wasadm wasadm   6 Feb  5 01:49 img
drwx------.  2 wasadm wasadm   6 Feb  5 01:49 was
-rwxr-xr-x.  1 wasadm wasadm 428 Feb  8 01:16 Mem.sh

# 변경되지 않은 항목 (root 유지)
drwx------.  2 root   root     6 Feb  5 01:49 web
drwxr-xr-x.  2 root   root     6 Feb  5 01:49 bin
...

Next Step:
소유권 변경이 완료되었다면, 해당 사용자가 파일에 대해 어떤 작업을 할 수 있는지 결정하는 권한(Permission) 설정(chmod) 단계로 넘어가야 합니다.