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를 삭제하는 방식으로 문제를 해결

+ Recent posts