리눅스 허가권, 특수 허가권

728x90
SMALL

허가권

허가권은 읽기(read), 쓰기(write), 실행(execute) 세가지로 구분할 수 있습니다.

 

1) 사용 모드

  사용자 권한 그룹 권한 제3자 권한
알파벳 r w x r w x r w x
8진수 4 2 1 4 2 1 4 2 1

 

2) 사용 기호

  사용자 권한 연산자
알파벳 u g o a + - = r w x
의미 소유자 그룹 제3자 모든사용자 허가권부여 허가권제거 허가권지정 읽기 쓰기 실행

 

3) 권한

  일반 파일 디렉터리 특수 파일
읽기(read) 내용 읽기 디렉터리 내용 안의 파일/디렉터리 목록 출력 read() 함수로 파일 읽기
쓰기(write) 내용 수정 및 제거 디렉터리 안의 파일/디렉터리 생성, 수정, 제거 write() 함수로 파일 내용 읽기
실행(execute) 내용 실행 디렉터리 안으로 진입  

 

허가권 명령어

 

1) chmod

-파일이나 디렉터리의 허가권을 변경하는 명령어 입니다.

 

① 기본 형식

[username@localhost ~]$ chmod [옵션] [허가권] [파일/디렉터리명] 

 

② 옵션 

-c 소유권 변경 정보 출력
-R 하위 디렉터리를 포함한 모든 파일과 디렉터리의 사용자 소유권 변경
-v 각 파일의 모드 변경 상태 출력

touch로 생성한 공파일인 test의 기본 허가권은 umask에 의해서 결정됩니다.

기본 허가권은 rw-rw-r-- 이므로 664에 해당합니다. 

chmod 777 test 명령어로 인해 rwxrwxrwx로 변경된 것을 확인 할 수 있습니다. 

 

 

chmod 허가권으로 숫자가 아닌 기호 = rwx 값을 사용하는것은 기존 값을 무시하고 새로운 값을 할당하는 것입니다.

+ - 는 기존 값에서 추가(부여), 제거 하는 것입니다. 

 

현재 허가권은 rwxr-xr-- 로 숫자로 표현하면 754입니다. 

여기서 chmod u-w test 명령을 실행하면  r-xr-xr--로 변경됩니다. 

 

2) umask

-새로 생성되는 파일이나 디렉터리의 기본 허가권을 지정하는 명령어

 

① 기본 허가권

Dafault umask 파일 디렉터리
022 666 777
  - 022 - 022
파일/디렉터리 생성 시 644 755

② 기본 형식

 [username@localhost ~]$ umask [옵션] [설정값]

 

③ 옵션

-S 'umsk' 값을 기호로 출력

 

 

umask 명령어를 통해 현재 umask를 확인 가능하고 

-S 옵션을 통해 현재 umask를 기호를 통해 확인 할 수 있습니다. 

umask [- - -] 값을 지정해 umask 를 변경할 수도 있습니다.

 

 

특수 허가권

 

프로세스가 실행되는 동안 해당 파일을 실행한 사용자가 아닌 해당 파일을 소유한 사용자의 권한으로 실행하게 만드는 허가권

 

1) 기능

-낮은 수준의 사용자가 높은 수준의 자원에 접근 시 접근 제한으로 인해 발생하는 문제를 해결하기 위해 사용합니다

-프로세스를 실행하는 동안만 소유자나 그룹 권한으로 실행한다. 

-SetUID, SetGID, 비트 : 소문자 's', 대문자 'S' / Sticky 비트 : 소문자 't', 대문자 'T'

-소문자 : 해당 파일에 실행 권한이 부여되어 있을 경우이며, 정상적인 권한으로 실행함.

-대문자 : 해당 파일에 실행 권한이 부여되어 있지 않을 경우이며, 정상적으로 권한으로 실행하지 않음.

 

2) 허가권

  기호 절대값 설명
SetUID s 4000 -파일의 소유자 실행 권한에 UID 설정
-SetUID가 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의 권한을
부여하는 비트
SetGID s 2000 -파일의 그룹 실행 권한에 GID 설정
-SetGID가 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자 그룹의 권한을 부여하는 비트
Sticky t 1000 -파일의 제 3자 실행 권한에 Sticky Bit 설정
-Sticky Bit가 설정된 디렉터리 안의 파일에 모든 사용자에게 쓰기 권한이 부여되어 있을 경우에도 파일의 소유자나 'root' 사용자가 아니면 해당 파일을 삭제할 수 없음.
-누구나 파일을 생성, 수정은 가능
LIST