리눅스 / chown, chmod / 파일 또는 디렉토리 소유자, 소유그룹, 권한 설정
Created 2021-02-17
Last Modified 2024-10-30
chown과 chmod는 파일 및 디렉토리의 권한과 소유자를 관리하는 데 사용되는 Linux 명령어입니다.
정보 확인
- ls 명령어에 -l 옵션을 붙여서 파일 또는 디렉토리의 권한과 소유자(그룹)을 확인할 수 있습니다.
- 제일 앞에 있는 문자는 디렉토리인지 파일인지는 나타냅니다. d는 디렉토리라는 뜻이고, -는 파일이라는 뜻입니다.
- 그 다음 3개의 문자열은 소유자의 권한을, 그 다음 3개의 문자열은 소유그룹의 권한을, 그 다음 3개의 문자열은 소유자(그룹) 이외의 권한을 나타냅니다.
- 처음 나오는 jb는 소유자, 그 다음 나오는 jb는 소유그룹입니다.
# ls -l drwxrwxr-x 2 jb jb 4096 Feb 16 22:28 test_directory -rw-rw-r-- 1 jb jb 4 Feb 16 22:34 test_file
chown
chown은 파일 또는 디렉토리의 소유자와 소유그룹을 정하는 명령어입니다.
- test_file의 소유자를 jb, 소유그룹을 hs로 정합니다.
# chown jb:hs test_file
- 소유그룹은 그대로 둔 채 소유자만 jb로 변경합니다.
# chown jb test_file
- 소유자는 그대로 둔 채 소유그룹만 hs로 변경합니다.
# chown :hs test_file
- data라는 디렉토리가 있을 때 다음과 같이 명령하면, data 디렉토리와 그 안에 있는 파일 또는 디렉토리의 소유자를 jb, 소유 그룹을 hs로 만듭니다.
chown -R jb:hs data
chmod
chmod은 파일이나 디렉토리의 접근 권한을 변경하는 명령어입니다.
- r은 읽기(read) 권한, w는 쓰기(write) 권한, x는 실행(excute) 권한입니다.
- 다음을 해석하면, test_file의 소유자는 jb, 소유그룹은 jb이고, 소유자는 읽고 쓰기 가능, 소유그룹은 읽고 쓰기 가능, 나머지는 읽기 가능입니다.
-rw-rw-r-- 1 jb jb 4 Feb 16 22:34 test_file
- r은 4, w는 2, x는 1입니다. 따라서 7은 rwx, 6은 rw-, 5는 r-x, 4는 r--을 뜻합니다.
- 따라서 다음은 소유자, 소유그룹, 다른 사용자 모두에게 읽기, 쓰기, 실행 권한을 주는 것입니다.
chmod 777 test_file
- 다음은 rwxr-x---로 만드는 것입니다.
chmod 750 test_file
- u는 소유자, g는 소유그룹, o는 다른 사용자이고, +는 추가, -는 제거를 뜻합니다.
- 따라서 다음은 소유자에게 실행 권한을 추가하는 것입니다.
chmod u+x test_file
- 다음은 소유그룹에서 쓰기 권한을 제거하는 것입니다.
chmod g-w test_file
- a는 전체를 뜻하므로, 다음은 소유자, 소유그룹, 다른 사용자의 읽기 권한을 제거하는 것입니다.
chmod a-r test_file
- data라는 디렉토리가 있을 때 다음과 같이 명령하면, data 디렉토리와 그 안에 있는 파일 또는 디렉토리의 권한을 777로 만듭니다.
# chmod -R 777 data