본문 바로가기

DKE/리눅스 프로그래밍

[리눅스] 파일의 사용 권한 (chmod) / 2022.12.01

파일 시스템에서는 사용자 종류에 따라 액세스 권한을 제어하기 위해 리눅스 각 파일에 대해 파일 사용 권한을 설정한다.

1. 사용 권한 확인하기

$ ls -l

 

1-1) ls -l 명령어를 사용하면 사용 권한을 확인할 수 있다.

 

 

2. 사용 권한 알아보기

리눅스/유닉스에는 세 가지 조합의 사용 권한이 있다.

2-1) 사용자 개인을 위한 것 (owner)

2-2) 사용자가 속한 그룹을 위한 것 (group)

2-3) 시스템에 있는 모든 사람을 위한 것 (others)

왼쪽 부터 owner, group, others

각 파일과 디렉토리에 대해, 사용자 개인을 위해, 사용자가 속한 그룹을 위해 그래고 모든 사람을 위해 각각 분리된 읽기 (r), 쓰기 (w), 실행 (x)의 권한을 부여할 수 있다는 의미이다.

 

사용권한이 rwxr-xr-x 라면 ?
owner에 rwx 모두 허용
group에 r, x허용
others에게 r,x 허용 이라는 의미이다. 

3. 8진수 숫자 코드

리눅스/유닉스에서는 rwx의 사용 권한을 표현하기 위해 세 자리의 8진수 숫자 코드를 사용한다.

첫 번째 8진수는 사용자의 권한, 두 번째 8진수는 그룹의 권한, 세 번째 8진수는 모든 사용자의 권한을 나타낸다.

755 -> 111 101 101 -> rwx r-x r-x
644 -> 110 100 100 -> rw- r-- r--
400 -> 100 000 000 -> r-- --- ---

4. 사용 권한 변경

파일에 대한 권한을 변경하기 위해서 chmod 명령어를 사용한다.

$ chmod mode files_or_directories
여기서 mode는 두 가지 형태로 나타낼 수 있다.
- 8진수 숫자 코드 (ex) 755, 644, 400
- [u|g|o] + [+|-] + [r|w|x] (ex) u+x, g-x, o+r

 

일반 사용자는 자신의 파일/디렉토리에 대한 권한 변경이 가능하며, 루트 유저는 모든 파일/디렉토리에 대한 권한 변경이 가능하다.

 

4-1) 8진수 숫자 코드를 사용하여 file01의 권한 변경

 

4-2) group과 others에 r, x 권한 set