The New Engineer Is Locked Out
Maya has a login. Why can't she read what every other operator can?
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.
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.
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
maya:x:1007:1007:Maya:/home/maya:/bin/bashFields, in order: username, password placeholder (x — the real password isn't stored here), UID, primary GID, description, home directory, login shell.
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.
A /etc/passwd entry reads maya:x:1007:1007:Maya:/home/maya:/bin/bash.
What does the 1007 in the third field actually represent?