Hosting Operations
Read-only, can be slowAudit a Symlink Permission Chain
You need to inspect symlink targets and every parent directory before deciding whether permissions are wrong.
Command
find /srv/www/example -type l -printf '%p -> %l\n' -exec namei -l {} \; 2>/dev/null
Before you run this
System impact: Read-only. Can create load on large logs, directories, filesystems, or process tables.
When not to use it: Do not audit only the symlink inode; access depends on the target path too.
Expected output
Each symlink target followed by namei ownership and mode details.
System impact
Read-only, can be slow. Nothing changes. The command lists symlinks and traces their resolved path components.
Scope this to the smallest useful path or service on busy systems.
Recovery / rollback: no state is changed.
When to use it
Use when current-release, shared-secret, or uploads symlinks complicate a permission issue.
When not to use it
Do not audit only the symlink inode; access depends on the target path too.
next steps
Related commands
Find Release Files Writable Outside the Owner
A release file that someone besides the owner can modify deserves a second look.
find /srv/www/example/releases/current -type f -perm /0022 -printf '%M %u:%g %p\n' 2>/dev/null | sort
Group Writable Files by Owning Group
Group-writable files are not automatically wrong, but the owning group decides the risk.
find /srv/www/example -type f -perm -0020 -printf '%g %M %p\n' 2>/dev/null | sort
Find Runtime Directories Writable Outside the Owner
Runtime directories often need writes, but the write boundary should be visible.
find /srv/www/example/shared/storage /srv/www/example/shared/uploads -type d -perm /0022 -printf '%M %u:%g %p\n' 2>/dev/null | sort
Find Writable Directories Missing the Sticky Bit
A writable log directory is not the same thing as a safe shared directory.
find /srv/www/example -type d -perm -0002 ! -perm -1000 -printf '%m %u:%g %p\n' 2>/dev/null | sort
Summarize Cache File Ages
Cache cleanup is safer when you know whether files are stale or still active.
find /var/cache -xdev -type f -printf '%TY-%Tm-%Td\n' 2>/dev/null | sort | uniq -c
Study mapping
Use this as independent command practice: read the notes, predict the output, then compare it with the example before using a real shell.
Independent study support only. No affiliation, endorsement, exam dumps, or real exam questions.