본문 바로가기
Backend/Linux

[Linux] 파일 권한 확인 및 변경하기 (permission)

by pin9___9 2023. 3. 13.
728x90

퍼미션(permission)이란?

특정 파일이나 경로를 사용할 권한을 설정하는 기준이자 그 기준으로 만든 설정 그 자체를 일컫는 말이다.

유닉스/리눅스에서 주로 사용되는 파티션에서는 3자리의 8진수로 이루어진 권한 설정이 사용되며, 첫째 자리는 해당 파일의 소유자 본인, 둘째 자리는 파일 소유자가 소속된 그룹과 같은 그룹에 소속된 사용자, 셋째 자리는 그 외의 일반 사용자로써 각각 읽기(파일 구성을 읽을 수 있다), 쓰기(파일 구성을 수정할 수 있다), 동작(파일을 실행시킬 수 있다)의 권한을 4, 2, 1의 숫자 조합을 통해 나타낸다. 4, 2, 1의 조합인 이유는 2진수로 표현 시 첫 자리(4)가 읽기, 둘째 자리(2)가 쓰기, 셋째 자리(1)가 동작이라서이다.

출처 : 나무위키

 

퍼미션을 확인하는 방법

  • ls -al : 현재 위치에 있는 모든 파일들의 상세 정보를 출력합니다.(숨겨진 파일 포함)
  • ls -l : 현재 위치에 있는 파일들의 상세 정보를 출력합니다.(숨겨진 파일 제외)
  • ll : 단축 명령어 입니다. alias ll = 'ls -l' 로 대부분 기본으로 설정되어 있습니다.

✔ ls 명령어 모음

자주 쓰는 5가지 옵션을 정리해 보았습니다.

옵션 기능
-a (all) 숨겨진 파일을 포함하여 모든 파일을 리스트합니다.
-s (size) 파일의 크기를 K바이트 단위로 출력합니다.
-l (long) 파일의 상세 정보를 출력합니다.
-F 파일의 종류를 표시하여 출력합니다.
-R (recursive) 모든 하위 디렉토리들을 리스트합니다.

위에 옵션들은 여러 개를 같이 사용하는 것도 가능한데, 위에 ls -al명령어 또한 -a와 -l를 합친 옵션입니다.

 

퍼미션의 종류

퍼미션 의미 파일 디렉토리
r 읽기 (read) 권한 파일 읽기 디렉토리의 내용을 볼 수 있음
w 쓰기 (write) 권한 파일 저장, 삭제 디렉토리에 파일 저장, 디렉토리 이름 변경, 삭제 가능
x 실행 (execution) 권한 파일 실행 디렉토리에 접근 할 수 있음
s SetUID, SetGID 권한 파일 소유자, 그룹 소유자의 권한으로 실행
t Sticky Bit 권한 공유 디렉토리로 사용됨

 

파일 사용 권한

문자 권한
r 읽기 4
w 쓰기 2
x 실행 1

파일에 퍼미션을 줄 때 이 값들을 이용해 퍼미션을 지정할 수 있습니다.

퍼미션 8진수 의미
--- 0 아무 권한 없음
--x 1 실행 권한만 있음
-w- 2 쓰기 권한만 있음
-wx 3 실행, 쓰기 권한이 있음
r-- 4 읽기 권한만 있음
r-x 5 읽기, 실행 권한이 있음
rw- 6 읽기, 쓰기 권한이 있음
rwx 7 읽기, 쓰기, 실행 권한이 있음

 

위의 퍼미션 형식, 리눅스 파일 종류, 파일 사용 권한을 이용해 퍼미션이 뜻하는 의미를 예시를 들어 간단하게 정리해보도록 하겠습니다.

퍼미션 파일 유형 소유자 권한 그룹 권한 다른 사용자 권한
drwxr-xr-x 디렉터리 파일 읽기, 쓰기, 실행 읽기, 실행 읽기, 실행
-rwx------ 일반 파일 읽기, 쓰기, 실행 권한 없음 권한 없음
-rw-r--r-- 일반 파일 읽기, 쓰기 읽기 읽기

 

퍼미션 변경

각 권한은 그에 해당하는 숫자를 가진다. (8진수 이용 방식)

즉, 읽기/쓰기/실행 rwx는 숫자를 더하여 7(4+2+1)이라는 형식으로 표현할 수 있다. 

 

1. chmod : 기존 파일또는 디렉토리에 대한 접근권한 변경시 사용

   $ chmod -R [8bit permission] [file name or folder name]

755퍼미션 예시 

  ex) 755 퍼미션: rwxr-xr-x  소유자는 모두가능, 그룹소유자와 일반사용자는 읽기/실행만.  

         644퍼미션:  rw-r--r--    소유자는 읽고쓰기, 그룹소유자와 일반사용자는 읽기만.

         600퍼미션 : rw-------    소유자는 읽고쓰기, 나머지는 아무권한도 없음. 

 

reference

 

728x90

댓글