๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Group_Study/Operating System

[9์ฃผ์ฐจ] File Protection

by ํฌ์ŠคํŠธ์‰์ดํฌ 2023. 1. 29.

File Protection

File Protection

โœ” File์— ๋Œ€ํ•œ ๋ถ€์ ์ ˆํ•œ ์ ‘๊ทผ ๋ฐฉ์ง€

  • ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์—์„œ ๋”์šฑ ํ•„์š”

โœ” ์ ‘๊ทผ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•œ ์—ฐ์‚ฐ๋“ค

  • Read(R)
  • Write(W)
  • Execute(X)
  • Append(A)

File Protection Mechanism

โœ” ํŒŒ์ผ ๋ณดํ˜ธ ๊ธฐ๋ฒ•์€ sytem size ๋ฐ ์‘์šฉ ๋ถ„์•ผ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

  1. Password ๊ธฐ๋ฒ•
    • ๊ฐ file๋“ค์— PW ๋ถ€์—ฌ
    • ๋น„ํ˜„์‹ค์  (๋ชจ๋“  file์— ์ ‘๊ทผ ๋ถˆ๊ฐ€)
  2. Access Matrix ๊ธฐ๋ฒ•

Access Matrix

null

โœ” ๋ฒ”์œ„(domain)์™€ ๊ฐœ์ฒด(object)์‚ฌ์ด์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ช…์‹œ

โœ” Terminologies

  • Object
    • ์ ‘๊ทผ ๋Œ€์ƒ(file, device๋“ฑ HW/SW objects)
  • Domain (Protection domain)
    • ์ ‘๊ทผ ๊ถŒํ•œ์˜ ์ง‘ํ•ฉ
    • ๊ฐ™์€ ๊ถŒํ•œ์„ ๊ฐ€์ง€๋Š” ๊ทธ๋ฃน(์‚ฌ์šฉ์ž, ํ”„๋กœ์„ธ์Šค)
  • ACcess right
    • <object-name, rights-set>

Global Table

null

โœ” ์‹œ์Šคํ…œ ์ „์ฒด file๋“ค์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ Table๋กœ ์œ ์ง€

โœ” ๋‹จ์ 

  • Large table size (๋นˆ ๊ณต๊ฐ„๋„ ์ €์žฅ)

Access List

null

โœ” Access matrix์˜ ์—ด(column)์„ list๋กœ ํ‘œํ˜„

  • ๊ฐ Object์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ ๋‚˜์—ด
  • $A_{list}(F_k) = {<D1, R1>, <D2, R2}, ... , <Dm, Rm>}$

โœ” Object ์ƒ์„ฑ ์‹œ, ๊ฐ domain์— ๋Œ€ํ•œ ๊ถŒํ•œ ๋ถ€์—ฌ
โœ” Object ์ ‘๊ทผ ์‹œ ๊ถŒํ•œ ๊ฒ€์‚ฌ

โœ” ์‹ค์ œ OS์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋จ

  • UNIX

Capability List

null

โœ” Access matrix์˜ ํ–‰(row)์„ List๋กœ ํ‘œํ˜„

  • ๊ฐ domain์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ ๋‚˜์—ด
  • $C_{list}(D_k) = {<F1, R1>, <F2, R2}, ... , <Fp, Rp>}$

โœ” Capability๋ฅผ ๊ฐ€์ง์ด ๊ถŒํ•œ์„ ๊ฐ€์ง์„ ์˜๋ฏธ

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ถŒํ•œ์„ ์ œ์‹œ, ์‹œ์Šคํ…œ์ด ๊ฒ€์ฆ ์Šน์ธ

โœ” ์‹œ์Šคํ…œ์ด capability list์ž์ฒด๋ฅผ ๋ณดํ˜ธ ํ•ด์•ผ ํ•จ

  • ๋ณด์•ˆ ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ
  • kernel ์•ˆ์— ์ €์žฅ

Lock-key Mechanism

โœ” Access list์™€ Capability list๋ฅผ ํ˜ผํ•ฉํ•œ ๊ฐœ๋…

โœ” Object๋Š” Lock์„, Domain์€ Key๋ฅผ ๊ฐ€์ง

  • lock/key: unique bit patterns

โœ” Domain ๋‚ด ํ”„๋กœ์„ธ์Šค๊ฐ€ object์— ์ ‘๊ทผ ์‹œ,

  • ์ž๊ธฐ์˜ key์™€ object์˜ lock ์ง์ด ๋งž์•„์•ผ ํ•œ๋‹ค

โœ” ์‹œ์Šคํ…œ์€ key list๋ฅผ ๊ด€๋ฆฌ ํ•ด์•ผ ํ•œ๋‹ค.

Comparision

โœ” Global table

  • simple, but large

โœ” Access list

  • Object๋ณ„ ๊ถŒํ•œ ๊ด€๋ฆฌ ์šฉ์ด
  • ๋ชจ๋“  ์ ‘๊ทผ๋งˆ๋‹ค ๊ถŒํ•œ์„ ๊ฒ€์‚ฌ ํ•ด์•ผํ•จ
    • Object ๋งŽ์ด ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ -> ๋Š๋ฆผ

โœ” Capability list

  • List ๋‚ด object๋“ค (localized info.)์— ๋Œ€ํ•œ ์ ‘๊ทผ ์œ ๋ฆฌ
  • Object๋ณ„ ๊ถŒํ•œ ๊ด€๋ฆฌ (๊ถŒํ•œ ์ทจ์†Œ ๋“ฑ)์ด ์–ด๋ ค์›€

null

โœ” ๋งŽ์€ OS๊ฐ€ Access list์™€ Capability list ๊ฐœ๋…์„ ํ•จ๊ป˜ ์‚ฌ์šฉ

  • Object์— ๋Œ€ํ•œ ์ฒซ ์ ‘๊ทผ -> Access list ํƒ์ƒ‰
    • ์ ‘๊ทผ ํ—ˆ์šฉ ์‹œ, capability ์ƒ์„ฑ ํ›„ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ „๋‹ฌ
      • ์ดํ›„ ์ ‘๊ทผ ์‹œ์—๋Š” ๊ถŒํ•œ ๊ฒ€์‚ฌ ๋ถˆํ•„์š”
  • ๋งˆ์ง€๋ง‰ ์ ‘๊ทผ ํ›„ -> capability ์‚ญ์ œ

'โญ Group_Study > Operating System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[10์ฃผ์ฐจ] I/O System  (0) 2023.02.01
[9์ฃผ์ฐจ] File System Implementation  (0) 2023.01.30
[9์ฃผ์ฐจ] Directory Structure  (0) 2023.01.28
[9์ฃผ์ฐจ] File System Overview  (0) 2023.01.27
[9์ฃผ์ฐจ] Disk System  (0) 2023.01.26

๋Œ“๊ธ€