본문 바로가기
개인 공부/Linux (CentOS 리눅스)

CentOS 리눅스 : 파일 접근 권한 관리 (5장)

by 희조당 2022. 5. 4.
728x90

■ 파일 속성

 리눅스는 다중 사용자 시스템 → 접근 권한 제어를 통해 파일을 관리한다.

 ' ls -l ' 명령어로 확인 가능한 파일의 속성

 ex. drwxrwxr-x. 7 hejow hejow 61 5월 2 11:49 linux_ex

  ※ 참고할 명령어

 file [파일] : 지정한 파일의 종류 확인

 groups [user명] : 소속 그룹 확인 (user명 지정 시 대상의 그룹, 미지정 시 본인의 그룹)

 

■ 파일 접근 권한

 리눅스는 사용자를 세 카테고리로 구분하여 접근 권한을 적용한다. 

   1. 파일 소유자

   2. 파일이 속한 그룹

   3. 그 외 기타 사용자

 

 - 접근 권한 종류

 - 접근 권한 표기 방법

 각 권한은 읽기(r), 쓰기(w), 실행(x)으로 표현하고, 각 사용자 카테고리별로 순서대로 권한을 표시한다.

 ex. -rwxrwxr-x (사용자 : rwx / 그룹 : rwx / 기타 : r-x)

 

 - 접근 권한 변경 명령

 접근 권한은 파일 소유자와 시스템 관리자만 변경 가능.

 chmod 명령으로 접근 권한을 변경할 때 2가지 방법이 존재. (기호 모드, 숫자 모드)

 

 chmod [옵션] [파일(디렉터리)] : 파일(디렉터리)의 접근 권한을 변경

  -R : 하위 디렉터리까지 모두 변경

■ 기호를 이용한 파일 접근 권한 변경

 chmod [사용자 카테고리][연산기호][접근권한] [파일] : 기호 모드 형식

  ex. chmod u+x, go+w test.txt

  카테고리 : u (소유자), g (그룹), o (기타), a (전체)

  기호 : + (부여), - (제거), = (설정)

  권한 : r (읽기), w(쓰기), x(실행)

■ 숫자를 이용한 파일 접근 권한 변경

 chmod [숫자][숫자][숫자] [파일] : 숫자 모드 형식 (0~7)

  ex. chmod 754 test.txt

 

 - 숫자로 환산하는 방법

 ① 2진수로 대체 ( * : 1, - : 0 )

 ② 10진수로 계산해서 합산

 ③ 합산 값 = 권한 값 

 

 권한 값은 7~0까지 존재하지만, 1~3은 잘 사용하지 않는다.

 

 - 숫자 모드를 이용한 접근 권한 변경

 항상 세 자리 수를 사용 → 변경하려는 카테고리의 권한뿐만 아니라 다른 카테고리의 권한도 명시해야 한다. 

 ex. 현재 권한 644(rw-r--r--)에서 u-w을 하면 chmod 444 [파일]

■ 기본 접근 권한 설정

 파일(디렉터리)를 생성하면 기본 접근 권한이 자동적으로 설정된다.

  파일 → -rw-rw-r-- (소유자, 그룹 : 읽기, 쓰기 / 기타 : 읽기)

  디렉터리 → drwxrwxr-x (소유자, 그룹 : 읽기, 쓰기, 실행 / 기타 : 읽기, 실행)

  ※ 참고! 최대권한은 파일 - 666, 디렉터리 - 777 이다.

  

 - 기본 접근 권한 확인 및 변경

 umask [옵션] [마스크 값] : 기본 접근 권한 출력하거나 변경. 출력 시 기존에는 0002

  -S : 마스크 값을 문자로 출력

 

 마스크 값이란? 파일(디렉터리) 생성 시 부여하지 않을 권한을 지정해놓은 것

 마스크 값이 0002라면, '------w-' 즉 기타 사용자에게 쓰기 권한을 주지 않겠다는 뜻.

 

 - 마스크 값의 적용 과정

 2진수로 변환 후 진리표 대로 값을 계산한다. 마스크 값이 1이면 반전, 0이면 그대로

 ex. rw- rw- rw- (파일 최대 권한)

 ex. 110 110 110 (2진수로 변환)

 ex. 000 000 010 (마스크 값)

 ex. 110 110 100 (마스킹 결과)

 ex. rw- rw- r-- (기호로 변환)

■ 특수 접근 권한 설정

 마스크 값 맨 앞의 값에 따라 특수 접근 권한이 설정된다. 0은 일반적인 접근 권한 그 외에 3가지 권한이 존재.

 1. SetUID : 맨 앞자리가 4

 2. SetGID : 맨 앞자리가 2

 3. 스티키 비트 : 맨 앞자리가 1

 

 - SetUID

 SetUID가 설정된 파일을 실행하면 실행 중에는 소유자의 권한을 적용.

 'chmod 4*** [파일]' 명령 실행 시 파일 속성 중 소유자의 접근 권한에 s가 표시된다.

 

 - SetUID

 SetUID가 설정된 파일을 실행하면 실행 중에는 그룹의 권한을 적용.

 'chmod 2*** [파일]' 명령 실행 시 파일속성 중 그룹의 접근 권한에 s가 표시된다.

 

 - 스티키 비트

 디렉터리에 설정. 설정 시 해당 디렉터리에는 누구나 파일을 생성 가능.

 'chmod 1*** [파일]' 명령 실행 시 파일속성 중 기타 사용자의 접근 권한에 s가 표시된다.

댓글