허가권
허가권은 읽기(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' 사용자가 아니면 해당 파일을 삭제할 수 없음. -누구나 파일을 생성, 수정은 가능 |