파일에 문제가 생길 때, 이를 보호하는 방법
- 규칙적인 시간마다 디스크 파일을 자동 복사
- 사용자 인증 및 암호화
- 보조저장장치의 암호화
- 방화벽 등등…
접근의 유형
파일 접근의 유형을 제한해 파일을 보호할 수 있다.
파일 접근 연산의 예시는 다음과 같다.
- 읽기, 쓰기, 실행, 추가
- 삭제, 리스트 출력, 속성 변경
- 이외 연산은 위 연산의 조합으로 실시.
접근 제어
가장 일반적인 방법은 사용자에 따라 접근 허용 여부를 결정하는 것.
접근 제어자
이를 위해 각 파일과 디렉터리에 접근 제어자(ACL)을 두면 된다.
-
접근 제어자는 누가 어떠한 연산을 위해 이 파일을 사용할 수 있는지를 기술한다.
-
만약 사용자 A의 요청이 리스트에 있다면 접근 허용
단, 보호 위반 발생 시 사용자 작업은 파일에 대한 접근 거부
해당 방법의 단점은 다음과 같다.
- 리스트 구축이 힘들다
- 디렉터리 항목이 가변 길이가 되어서 공간 관리 문제가 발생
이를 극복하기 위해 접근 리스트를 간소화한다.
결합 리스트
그래서 모든 사용자와 권한을 각각 3가지로 분류하곤 한다.
- 소유자, 그룹, 기타
- 읽기, 쓰기, 실행
유닉스에서는 비트를 이용해 이를 정의한다.
뒤에 +를 붙이면 ACL 관리 여부를 설정할 수도 있다.
chmod 777
- 허가 및 접근 리스트는 시스템의 관리자에서만 이뤄질 수 있다.
- 허가와 ACL이 상충되는 경우 이에 대한 해결책도 생각해야 한다.
다른 보호법
- 암호
- 암호 기억이 어렵다
- 하나의 암호로 모든 걸 다 하면, 그 자체가 보안 취약점
- 디렉토리 보호 (directory protection)
- 디렉토리의 연산은 파일 연산과 다르므로, 이를 보호하는 기능이 필요
- 서로 다른 path name에 따라 다른 액세스 권한 부여 가능