Skip to content
Part IA Lent Term

Access Matrix Construction (Worked Example)

Question format

Tripos questions often ask you to construct an access matrix from a set of natural-language policy statements. The process is mechanical but requires care: identify all domains (subjects), all objects, and the allowed operations for each (domain, object) pair.

Worked example: 2025 Paper 2 Question 3(b)

Three user accounts (alice, bob, chris) plus root. Four peripherals: printer, removable hard disk, web camera with microphone, speakers. Policy:

  1. Alice may use the printer fully; Chris may not use the printer at all; Bob may only check the printer’s status.
  2. Only root may create backups; only Bob may recover files from a backup.
  3. Alice and Bob may participate fully in video-conferences; Chris may only play music.

Step-by-step:

Step 1: Identify domains and objects

Domains: root, alice, bob, chris. Objects: Printer, Hard disk, Web camera, Speaker.

Step 2: Root gets everything

Root is the superuser. In any UNIX-derived access matrix, root has read/write on every object by default. (Mark scheme: marks lost for not granting root full permissions.)

Step 3: Translate each policy statement

Printer:

  • Alice: full use → read/write (can both submit and check status).
  • Bob: check status only → read (can read status but not submit jobs).
  • Chris: no access → .

Hard disk (backups):

  • Root: create backups → read/write.
  • Alice: policy says nothing → .
  • Bob: recover files → read (can read from backups but not write them).
  • Chris: policy says nothing → .

Web camera (video-conferences):

  • Root: read/write.
  • Alice: full video-conferencing → read (receive video) — and actually she needs write too (transmit). Wait: the natural interpretation of “participate fully” for a camera is that the camera provides video input — and for video-conferencing, the system must both capture (read) and transmit (arguably write). The mark scheme grants read for alice and bob on the camera.
  • Bob: same as alice → read.
  • Chris: music only — no video → .

Speaker:

  • Root: read/write.
  • Alice: full participation — can output audio → write.
  • Bob: same → write.
  • Chris: play music → write (but not read — reading a speaker makes no physical sense).

Step 4: Construct the matrix

DomainPrinterHard diskWeb cameraSpeaker
rootread/writeread/writeread/writeread/write
aliceread/writereadwrite
bobreadreadreadwrite
chriswrite

Common mistakes

  • Inventing non-standard operations beyond read and write.
  • Forgetting that root has automatic read/write on everything.
  • Assigning permissions that don’t make physical sense (e.g., read on a speaker — what would you “read” from a speaker?).
  • Treating “web camera” as two separate objects when the question groups them. Read the object list carefully.

Summary

  • Identify domains, objects, and the two operations (read, write).
  • Root gets read/write on everything.
  • Translate each policy sentence mechanically to read, write, or .
  • Avoid invented operations and physically nonsensical permissions.