열렬히.뛰기

4. 파일 보호

운영체제 > part 6 : 파일 시스템 > 공룡책 13장 : 파일 시스템 인터페이스 > 4. 파일 보호

파일에 문제가 생길 때, 이를 보호하는 방법

  • 규칙적인 시간마다 디스크 파일을 자동 복사
  • 사용자 인증 및 암호화
  • 보조저장장치의 암호화
  • 방화벽 등등…

접근의 유형

파일 접근의 유형을 제한해 파일을 보호할 수 있다.

파일 접근 연산의 예시는 다음과 같다.

  • 읽기, 쓰기, 실행, 추가
  • 삭제, 리스트 출력, 속성 변경
  • 이외 연산은 위 연산의 조합으로 실시.

접근 제어

가장 일반적인 방법은 사용자에 따라 접근 허용 여부를 결정하는 것.

접근 제어자

이를 위해 각 파일과 디렉터리에 접근 제어자(ACL)을 두면 된다.

  • 접근 제어자는 누가 어떠한 연산을 위해 이 파일을 사용할 수 있는지를 기술한다.

  • 만약 사용자 A의 요청이 리스트에 있다면 접근 허용

    단, 보호 위반 발생 시 사용자 작업은 파일에 대한 접근 거부

해당 방법의 단점은 다음과 같다.

  1. 리스트 구축이 힘들다
  2. 디렉터리 항목이 가변 길이가 되어서 공간 관리 문제가 발생

이를 극복하기 위해 접근 리스트를 간소화한다.

결합 리스트

그래서 모든 사용자와 권한을 각각 3가지로 분류하곤 한다.

  • 소유자, 그룹, 기타
  • 읽기, 쓰기, 실행

유닉스에서는 비트를 이용해 이를 정의한다.

뒤에 +를 붙이면 ACL 관리 여부를 설정할 수도 있다.

chmod 777
  • 허가 및 접근 리스트는 시스템의 관리자에서만 이뤄질 수 있다.
  • 허가와 ACL이 상충되는 경우 이에 대한 해결책도 생각해야 한다.

다른 보호법

  1. 암호
    • 암호 기억이 어렵다
    • 하나의 암호로 모든 걸 다 하면, 그 자체가 보안 취약점
  2. 디렉토리 보호 (directory protection)
    • 디렉토리의 연산은 파일 연산과 다르므로, 이를 보호하는 기능이 필요
    • 서로 다른 path name에 따라 다른 액세스 권한 부여 가능