DF-2706 / run.sh
#!/bin/sh # DF-2706 run: A/B/C contrast as unprivileged user. # Prereq (as root): /tmp/snoopmark running as uid 0, security.ps_showallprocs=0 # cp /bin/sleep /tmp/snoopmark && chmod 700 /tmp/snoopmark # nohup /tmp/snoopmark 600 & # ROOTPID=$(pgrep -f snoopmark) # sysctl security.ps_showallprocs=0 set -e [ -x /tmp/pidsnoop ] || cc -O -o /tmp/pidsnoop /tmp/pidsnoop.c ROOTPID="${1:-$(ssh_root_pgrep_placeholder)}" echo "=== [A] kern.proc.pid.$ROOTPID (uid-0 process) as unpriv user ===" /tmp/pidsnoop "$ROOTPID" echo echo "=== [B] kern.proc.all as unpriv user ===" /tmp/pidsnoop -all echo echo "=== [C] kern.proc.uid.0 as unpriv user ===" /tmp/pidsnoop -uid 0 echo echo "SUCCESS CRITERION: [A] shows >=1 record with uid=0 and comm of the" echo "marker while [B] shows only the caller's own procs and [C] shows 0." |