1. 파일 보호(File Protection)
- 파일에 대한 부적절한 접근을 방지하는 것
- 삭제(Delete), 읽기(Read), 쓰기(Write), 실행(Execute), 추가(Append) 등의 연산을 보호
- 다중 사용자 환경에서 매우 중요한 개념
2. 보호 기법
- 명명(Naming)
- 파일의 이름을 알지 못하는 사용자는 파일에 접근하지 못하도록 함
- 파일의 이름을 알지 못하는 사용자는 파일에 접근하지 못하도록 함
- 암호(Password)
- 암호를 아는 사용자만 파일에 접근 가능하도록 함
- 효과적이지만 모든 파일에 접근권한별로 암호를 거는 것은 비현실적
- 일부 중요한 파일에만 적용하는 방식
- 접근 제어(Access Control)
- 사용자, 혹은 사용자 그룹의 파일에 대한 접근 권한을 명시한 테이블을 관리
- 테이블에 명시된 권한에 따라 접근을 제어함
3. 접근 제어 구현(Access Control Implementation)
- 전역 테이블(Global Table)
- 파일시스템 전체에 대한 접근 제어 테이블을 저장해두고 사용
- 파일시스템의 규모가 커질수록 테이블의 크기도 너무 커지고 공간낭비도 심해짐
- 접근 제어 리스트(Access Control List) & 권한 리스트(Capable List)
- 그래프의 인접 리스트 표현 방식처럼 접근 제어 테이블의 강 행과 열을 리스트형태로 관리
- 접근 제어 리스트는 각 파일에 접근가능한 도메인(사용자, 그룹)과 각 도메인의 접근권한을 저장
- 권한 리스트는 각 도메인이 접근 가능한 파일과 그 파일에 대한 권한을 저장
- 대부분의 OS에서는 접근 제어 리스트 방식을 사용
=> 각 파일에 대한 접근권한 관리가 용이
- Lock & Key 기법
- 각 파일은 lock을 가지고 각 도메인은 key를 가짐
- lock과 key는 접근 권한을 비트로 표현한 형태
- 파일의 lock 과 도메인의 key를 알면 둘 사이의 접근 제어 관계를 알 수 있음
- 시스템에서는 key 의 리스트를 관리해야함
- 접근 제어 리스트 방식의 문제점과 해결
- 파일에 접근할 때마다 권한 확인이 필요하기 때문에 같은 사용자가 하나의 파일에
여러번 접근할 때도 매번 권한을 확인하는 비효율적인 동작을 하게됨 - 도메인이 파일에 접근했을 때 접근 제어 리스트를 통해 권한을 확인하고나면
도메인에게 접근권한(Capability)을 부여하고 이후 그 프로세스의 접근시에는
접근 제어 리스트 확인 절차를 진행하지 않도록 하고 도메인이 파일에 마지막으로
접근했을 때 Capability를 삭제하는 방식으로 문제를 해결
- 파일에 접근할 때마다 권한 확인이 필요하기 때문에 같은 사용자가 하나의 파일에
'CS > 운영체제' 카테고리의 다른 글
#23 입출력 시스템(I/O System) (0) | 2022.02.05 |
---|---|
#22 파일 시스템 구현(File System Implementation) (0) | 2022.02.04 |
#20 디렉토리(Directory) (0) | 2022.01.31 |
#19 파일 시스템(File System) (0) | 2022.01.28 |
#18 디스크 시스템(Disk System) (0) | 2022.01.27 |