File protection
- File에 대한 부적절한 접근 방지
접근 제어가 필요한 연산들
- Read(R)
- Write(W)
- Execute(X)
- Append(A)
기법
1) Password 기법
- 각 file들에 password 부여
- 모든 파일에 password를 부여하는 것은 비현실적
2) Access matrix 기법
- 범위(domain)과 객체(object) 사이의 접근 권한을 명시
- 용어 표현
* Domain : 같은 권한을 갖는 그룹(사용자, 프로세스)
* Object : 접근 대상(file)
(1) Access list
- access matrix의 column을 list로 표현
- Object 생성 시, 각 domain에 대한 권한 부여
- Domain이 Object에 접근하면, list를 훑으면서 권한을 확인
- 장점
* Object 별로 권한 관리 용이
- 단점
* Object가 많으면 list 길이가 길어져서 확인하는데 오래 걸림
- 예시
* Unix에서 'ls -1'하면, rwx-rw-x 이런 식으로 확인 가능
(2) Capability list
- access matrix의 row를 list로 표현
- Domain이 Object에 접근하면, Domain은 권한을 제시하고 시스템이 확인
- 장점
* 접근할 때 list를 줄줄이 확인하지 않아서 빠름
- 단점
* Object 별로 권한을 관리하가 어려움
+ 예시 : File 1에 대한 읽기 권한을 모두 취소하고 싶으면 모든 domain의 list를 확인한다. 그러나 Access list였다면, File 1에 대한 list 1개만 보면 변경이 가능하다.
* OS가 capability list 자체를 보호하기 위해서 kernel 안에 저장
(3) Access + Capability
- Object에 대한 첫 접근 시, access list에서 확인 -> 접근이 허용되면, domain에게 capability(권한)을 제공 -> 이후 접근할 때는 간단하게 확인 -> 마지막 접근 후에 capability 삭제
- 이 과정은 마치 어느 기관을 들어갈 때, 처음에는 출입자 명단을 보고 신분을 확인한 후에 출입증을 발급해주고, 이후에는 명단에서 확인 없이 출입하는 것과 동일하다.
본 내용은 한국기술교육대학교 김덕수 교수님의 유튜브 강의를 듣고 정리한 내용입니다.
'Software Courses > Operating System' 카테고리의 다른 글
I/O system (0) | 2020.12.14 |
---|---|
File system implementation (0) | 2020.12.14 |
Directory structure (0) | 2020.12.13 |
File System (0) | 2020.12.13 |
Disk System (0) | 2020.12.13 |