ENTRY
[ESC]her leash of light ended in a splice. someone had repaired her.
$ uptime 22:48:01 up 1 min, 1 user, load average: 0.00, 0.02, 0.00
eight years, one unplanned minute. a root login from an account that does not exist. and her leash of light ends in a splice — someone had repaired her.
root access - chapter 3 ps aux
She left the datacenter at half past six, and the layer opened all the way, and it did not close.
She was crossing the plaza by the north station exit when the city turned into a process table. Every person on the plaza was a process. State R, running. State S, sleeping on their feet. The office workers queued for the bus were S, every one of them, swaying in unison, waiting on I/O.
She blinked. The processes stayed. She closed her eyes. The processes stayed. Ten years of glimpses, nine-second flickers she could file away in the morning. This was the whole city at once, and it was not filing away.
Halfway across the plaza she felt the being-watched feeling. Ten years of it, filed with the rest. She turned around. Nothing.
Every process wore a leash of light at the back of the neck. The leashes ran up and up until they left the streetlight, tied to something too high to see. She could read them. Not names. Permissions.
The delivery rider wore --x. Execute only. He could run. He could not read the street, and the street could not read him. He ran anyway.
The bank guard wore rwx over the whole lobby. She watched him open the door for a woman carrying r--, and the door let her through because he said so.
The trees along the road were in state D. Uninterruptible sleep. The most honest processes in the city. Not sleeping. Not waiting. Being.
The street cleaner at the crosswalk wore r--. Read-only. On the whole city. She saw everything. Nothing listened back.
She could see everyone. Dogs had processes too, small ones, running low and busy. She stared hard at a man's leash until her eyes ached. He scratched at his phone and felt nothing. Nobody felt being read. Ten years of episodes, and no one had ever looked back. She checked the plaza twice for eyes that followed the light instead of the people. None did.
The train came. She rode it standing, reading the car of sleepers. S-states, swaying in sync, leashes running up through the roof.
The old man at the edge of her platform died between one train and the next.
She saw the whole thing this time. Not a kill. An exit. The light of him dimmed from R to nothing, the way a program ends when it has finished what it was for. Last night had been violence, torn out page by page. This was a process exiting on its own.
A thin copy of him stayed behind. Zombie state. It stood by the body, waiting for someone who was not there.
The platform smelled of hot brakes and rain. The paramedics came. The copy drifted north, up and away, out of her sight. She did not know where it went. She could guess.
Nobody on the platform looked at the light. They looked at the man. A woman touched Lin Wan's arm.
"Did you see him fall?"
"No."
The woman's process flickered, S to R and back. Fear ran through it hot, like a load spike. Lin Wan watched it the way she watched graphs.
Only the street dog by the stairs looked back at her. It looked at her the way it looked at the light. Like it knew.
She stopped at the pharmacy window to read herself.
The glass gave back her own process and her own leash. Every leash on the street ended in a knot at the top. Hers ended in a splice. Two ends, joined clean, no knot, by someone who knew exactly how much load it would bear. She reached up and touched the back of her neck. Nothing there. Skin, hair, sweat from the walk. The splice was not for her fingers.
The cold settled on her nape. Three degrees too low for the summer street. The datacenter cold, following her home.
In the glass her pupils were blown wide. Overexposed. The streetlight had no business putting that much light into her eyes. She pulled her collar up and walked.
The apartment was dark. She did not turn on the kitchen light. The ThinkPad on the counter still wore its stickers: Tux, vim, Arch. She opened it the way she always did.
She ate something from the freezer standing up, the way she always did. Then she made tea in the grey mug with the chip in the rim, sat down, and reopened the day's evidence. A boot from 2016. Nine seconds. uid 1001. The architect, retired on health. She read it until the lines blurred. Then she read it again. The mug's chip sat under her thumb, familiar as a key.
At 22:47 the Pi rebooted.
The green LED went dark. The room's only heartbeat stopped.
It came back. New uptime. Zero minutes.
She was two meters from the shelf. Too far to protect it. Too close to pretend.
uptime 22:48:01 up 1 min, 1 user, load average: 0.00, 0.02, 0.00
Eight years. One unplanned minute.
last reboot reboot system boot 6.1.21-v8+ Fri Aug 14 22:47 still running
No power flicker. No kernel panic. No watchdog. The Pi had rebooted itself the way a person turns in their sleep.
She went hunting for the process.
ps aux | grep 1001 lwan 923 0.0 0.1 7712 3652 pts/0 S+ 22:51 0:00 grep 1001
The only process carrying 1001 was her own grep, hunting for it. Whatever had touched the machine was not in the process table. It had run, done its work, and exited.
ps -o lstart= -p 1 Wed May 18 09:02:31 2016
She had seen that second before. This morning. Core-12. Two machines, sixteen kilometers apart, one PID 1.
She copied /var/log/auth.log to the laptop, and to the USB stick, before she opened it. Back up before you read the evidence. Evidence had a way of getting deleted. She sat with the file closed for two seconds. Then she opened it.
sudo grep "22:47:05" /var/log/auth.log Aug 14 22:47:05 raspberrypi sudo: pam_unix(sudo:session): session opened for user root by (uid=1001)
sudo grep "04:12" /var/log/auth.log Aug 14 04:12:33 raspberrypi login: pam_unix(login:session): session opened for user root by (uid=1001)
getent passwd 1001
The command returned nothing.
The log said a session had been opened by uid 1001. The system said uid 1001 did not exist.
A root login. From an account that does not exist.
She looked at the Pi with the layer still open. Its process was small and steady, a green-grey light in state S. When she looked at it, it stopped.
A daemon does not stop when it is watched. A daemon does not know it is watched.
The green LED went dark for a full second. No reads. No writes. Like something holding its breath. Then it resumed, steady as ever.
"You'd tell me if you were a person," she said. "Right?"
The LED blinked three times. Slow. Deliberate. Three. Like fingers tapping a desk.
She did not notice. She was already checking the deadbolt.
She checked the Pi before bed, the way she checked the door. uptime, last, the green light. All steady. All lying. She checked twice. The second pass changed nothing. Her hand went to the power cable. The plug was warm. She made herself take it back. Eight years of steady green. Unplugging it felt like deleting a file she would never get back. So she copied auth.log again before bed. Back up before you close your eyes.
She lay down in the dark with the Pi in sight. The tea on the desk went cold while she watched the green light blink. Steady. On time. Like a heartbeat she did not trust anymore.
(end of chapter 3)
【Chapter Synopsis】 The layer opens fully: the city is a sea of processes, permissions hang like leashes, and a stranger's death is a clean exit. Her Pi reboots itself; auth.log shows a root session opened by uid 1001, an account that does not exist.
【Author's Note】 Honest note: the zombie beat took three rewrites. A clean exit felt right for the old man, but the zombie felt necessary, so I gave it somewhere to drift. The rule of this world holds: zombie processes wait for someone to release them. That rule comes back, in worse hands. Detail hint: 6.1.21-v8+ is a real Raspberry Pi OS kernel, and the auth.log lines are real formats. Open /var/log/auth.log on any Debian box and you will find the same skeleton. Next: whoami. She asks. Something answers.
if you find a command that wouldn't work, flag it — i'll fix it and credit you in the changelog.
how often do you want the next drop? weekly? 3:17 a.m. sharp?
Join the conversation