Back to problem
Systems Administrator IFoundationUsers & Groups~25-35 min

The New Engineer Is Locked Out

Maya has a login. Why can't she read what every other operator can?

Your goal

Your goal isn't just to make Permission denied go away — that's the sloppy version of this fix. A real fix treats group membership as authorization policy: compare Maya against someone who already has access, add her to the one group that actually grants it, do it in a way that can't silently strip access she already has, and then prove the fix twice — once by showing Maya can now get in, and once by showing someone who shouldn't have access still can't.

Identify
Compare
Append
Verify

Maya just joined the ops rotation and was given a normal account, but /srv/ops/runbooks stays unreadable to her while her teammates open it without a second thought. Nothing about the directory changed — something about her account still needs to.

01

A username is a label. Linux checks a number.

Linux doesn't fundamentally identify Maya by the string maya:

  • Every account is really a structured record behind the username
  • The number in that record — the UID, or User ID — is what Linux actually checks whenever it decides who can do what
  • The username exists purely so humans have something readable to type and read

A local account's record has a fixed shape:

  • username — the human-friendly label, e.g. maya
  • UID — the numeric identity Linux checks, e.g. 1007
  • primary GID — the numeric ID of the account's one primary group
  • home directory — where personal files live, e.g. /home/maya
  • login shell — the program that starts at login, e.g. /bin/bash
A simplified /etc/passwd entry
maya:x:1007:1007:Maya:/home/maya:/bin/bash

Fields, in order: username, password placeholder (x — the real password isn't stored here), UID, primary GID, description, home directory, login shell.

maya
the login name — for humans
UID 1007
the number Linux actually checks
REAL IDENTITY
Important misconception

You don't need to memorize the full /etc/passwd format. The mental model that matters is simpler: a Linux account is structured identity data, not just a string — and the username is a label Linux tools translate for you, not the thing being checked underneath.

Knowledge check 0

A /etc/passwd entry reads maya:x:1007:1007:Maya:/home/maya:/bin/bash.

What does the 1007 in the third field actually represent?