허가권

2023. 10. 7. 05:02리눅스/CentOS

권한

 - 파일/디렉토리를 사용할 수 있는지 여부를 정하는 개념
 - 허가권과 소유권으로 구분
> 허가권 + 소유권 = 권한

 

 

허가권

 - 파일/디렉토리를 대상으로 어떠한 작업을 할 수 있는지 나타내는 권한
> ls -l 명령을 입력했을 때 나오는 출력 내용 중 개체 형식을 나타내는 첫 글자 뒤에 오는 9개의 글자가 허가권


 - 8가지 문자로 권한을 표현 : r, w, x, -, s, S, t, T
r, w, x, - : 일반 권한 표현 문자
s, S, t, T : 특수 권한 표현 문자

 - r : 읽기, w : 쓰기, x : 실행/접근, - : 권한 없음
r : 파일 - 파일 내용 읽기 ; cat, head, tail, more, less, vi로 열었을 때 등
    디렉토리 - 디렉토리 내부 목록 확인 ; ls, GUI 환경에서 폴더에 들어갔을 때 등
w : 파일 - 파일 내용 수정 ; 문서 편집 후 저장, > 기호를 이용하여 덮어쓰기/내용추가 등
    디렉토리 - 디렉토리 내부 목록 수정 ; 디렉토리 내부 하위 파일/디렉토리의 생성/삭제 등
x : 파일 - 실행 ; 파일에 x가 없으면 일반 문서 파일, 파일에 x가 있으면 실행 파일
    디렉토리 - 접근 ; 디렉토리에 x가 없으면 디렉토리 자체 및 내부의 항목들을 사용할 수 없다

 - 9자리의 권한 문자를 3개씩 끊어서 Owner, Group, Other 영역으로 구분
> 각 영역에는 r, w, x가 순서대로 들어가고, 특정 권한이 없다면 r, w, x 대신에 -이 들어간다

Owner : 소유자(파일/디렉토리를 소유 중인 사용자)를 위한 권한
Group : 그룹 사용자(파일/디렉토리를 소유 중인 그룹에 소속된 사용자)를 위한 권한
Other : 그 외 사용자(Owner, Group 둘 다 해당되지 않는 사용자)를 위한 권한

   * 3개의 영역 중 어느 영역의 권한을 적용 받는지에 대한 내용은 소유권에서 결정
ex>

Owner Group Other
r w x r x r - x

 

 - 권한 표현 방법
1. 문자를 이용한 표현 방법 : r, w, x, - 문자를 차례대로 읽어주는 방법

2. 숫자를 이용한 표현 방법 : 문자를 바탕으로 숫자값을 계산
   * 계산 방법
1) 영역 분리
2) 각 영역의 r = 4, w = 2, x = 1, - = 0 을 각 영역의 문자에 대입 후 영역별 합 계산
3) 각 영역에서 구한 합에 Owner는 100, Group은 10, Other는 1을 곱해서 전체 합을 계산

ex>
  1. rwxr-xr-x

Owner Group Other
r w x r - x r - x
4 2 1 4 0 1 4 0 1
7 5 5
x100 x10 x1
700      +       50      +      5 = 755

   
  2. rw-r--r-- > 644

  3. 375 > -wxrwxr-x

 - 허가권 변경
chmod [옵션] 권한값 대상 [대상] ... [대상]

* 권한값을 숫자/문자로 입력
   숫자로 입력하면 numeric method ; 변경할 권한 전체를 숫자로 입력
   문자로 입력하면 symbolic method ; 영역 문자에 필요한 권한을 +, - 기호를 이용하여 더하거나 빼준다
> symbolic method에서 사용하는 영역 문자
  u : owner
  g : group
  o : other

 

 

실습

numeric 방법

 

 

symbolic 방법

 

 

문제

<실습> itbank 홈 디렉토리에 복사한 inittab 파일의 권한을 변경

 r w - r - - r - - (처음상태)
 r w - - w - - w x (numeric method 이용하여 변경)
 256 (symbolic method 이용하여 변경)
-w- r-x rw-

* symbolic의 경우 여러 줄의 명령어 입력하셔도 상관없으나
  한 줄까지 줄일 수 있으니 시도해보세요

 

실습 답안1

 

실습 답안2

'리눅스 > CentOS' 카테고리의 다른 글

소유권  (0) 2023.10.07
apache  (0) 2023.10.07
사용자 & 그룹  (0) 2023.10.06
기초 명령어4  (0) 2023.10.06
기초 명령어3  (0) 2023.10.06