[OS] File System : File Protection

parkheeddong·2023년 6월 5일
0

Operating System

목록 보기
59/63
post-thumbnail

📌 File Protection

유닉스, 리눅스 등 다중 사용자 환경에서는 파일 protection이 매우 중요하다.

Protection 메커니즘은 파일 접근 타입을 제한함으로써, 접근을 제어할 수 있는 기능을 제공한다.

✅ Operation Types

Read, Write, Execute

🔔 File Protection 메커니즘

1) 특정 파일마다 password을 걸어둔다.

그러나 유닉스, 리눅스 시스템의 모든 파일에 password를 거는 것, 그리고 그것을 일일이 기억하는 건 매우 어렵다.
따라서 이것은 불가능한 방법이다.

2) Access Matrix를 사용한다.

🔔 Access Matrix

domain(파일 접근 주체 =유저, 어플리케이션, 프로세스)과 object(접근 대상 오브젝트 = 파일, 디바이스) 간의 접근 권한을 묘사하는 데 사용된다.

세로축은 domain, 가로축은 object다.
D1은 F1에 Read 할 수 있다.
D1은 F2에 접근할 수 없다.

이 매트릭스를 커널에 저장해 두고, 어플리케이션이 오브젝트에 접근하려고 할 때 이 Matrix를 통해 접근 권한을 파악할 수 있다.

이 Access Matrix는 몇 가지 변형이 가능하다.

1) switch

세로축은 도메인. 가로축에 오브젝트를 넣어 두고, 그 뒤에 도메인을 또 넣어준다.

만일 D1에서 프린터 사용할 수 없는데 D1에서 프린터를 사용하고자 하는 상황이다.
이 때 D2에서 프린터가 사용 가능한 경우, D1에서 D2로 Switch할 수 있는지 확인한다.
D1이 D2 Switch가 가능하면, 그 때 프린트가 가능하다.
현재 matrix에 따르면, D2는 D3, D4로 Switch가 가능하다.

-> 즉, 각 도메인 간 접근권한을 새롭게 부여하기위해서 switch에 대한 domain matrix를 새롭게 만들어주면 된다.

2) Copy-right

별표 있는 것들은 COPY 권한이다.
D2가 F2에 대해 Read 권한을 가지고 있는데, #### copy해서 다른 도메인에 넘겨줄 수 있다. 이 때 Read 권한만 해 줄수도 있고, Read Copy권한까지 넘겨줄 수도 있다.
만약 D3에 카피해서 넘겨주면, D3 역시 이 권한을 다른 곳에 카피해 넘겨줄 수도 있다.
(COPY 말고, '이동'의 개념으로 Transfer인 경우도 있다.)

3) owner-right

유닉스, 리눅스가 현재 사용중인 권한.
d1이 f1에 execute 권한을 가지고 있는데, owner권한도 있다.

도메인은 자신이 owner권한을 갖고 있으면 그 오브젝트에 대해서 다른 도메인에 대해서도 owner 권한을 만들어줄 수 있다.

D2 도메인이 F2에 대해 R*, Owner권한을 가지고 있어서 자기 자신에 대해서 Write 권한까지 추가한다. 그리고 D3에게도 Write 권한을 부여한다.

4) control-right

d2 도메인이 d4 도메인을 컨트롤할 수 있다.

도메인 d2에서 실행하는 프로세스가 d4 도메인의 접근 권한을 마음 대로 제거할 수 있다.

그래서 d4는 read write 권한을 갖고 있었는데 d2가 read 권한을 제거했다.

0개의 댓글