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:
- Alice may use the printer fully; Chris may not use the printer at all; Bob may only check the printer’s status.
- Only root may create backups; only Bob may recover files from a backup.
- 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 needswritetoo (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 grantsreadfor 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 notread— reading a speaker makes no physical sense).
Step 4: Construct the matrix
| Domain | Printer | Hard disk | Web camera | Speaker |
|---|---|---|---|---|
| root | read/write | read/write | read/write | read/write |
| alice | read/write | — | read | write |
| bob | read | read | read | write |
| chris | — | — | — | write |
Common mistakes
- Inventing non-standard operations beyond
readandwrite. - Forgetting that root has automatic
read/writeon everything. - Assigning permissions that don’t make physical sense (e.g.,
readon 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/writeon everything. - Translate each policy sentence mechanically to
read,write, or—. - Avoid invented operations and physically nonsensical permissions.