On most systems, /usr/bin/screen
is installed with the setuid bit for root, meaning it will first start with effective UID 0, and only later drop privileges (returning to your normal UID).
(This is used for implementing the "session sharing" feature, as your Screen wouldn't be allowed to connect to other users' Screen sockets otherwise.)
But, since privileged processes could potentially keep sensitive information in memory, the kernel gives them special protection – even if they drop all privileges and switch to your UID, you still cannot send them signals, attach a debugger, or create core dumps.
The "no core dumps" option, also known as the fs.suid_dumpable
sysctl setting, is what causes Screen's /proc
files to be permanently owned by root regardless of its effective UID.