proc_pid(5)

NAME
/proc/pid/, /proc/self/ - process information

DESCRIPTION

/proc/pid/
    There is a numerical subdirectory for each running process; the subdirectory is named by the process ID. Each /proc/pid subdirectory contains the pseudo-files and directories described below.

    The files inside each /proc/pid directory are normally owned by the effective user and effective group ID of the process. However, as a security measure, the ownership is made root:root if the process's "dumpable" attribute is set to a value other than 1.

    Before Linux 4.11, root:root meant the "global" root user ID and group ID (i.e., UID 0 and GID 0 in the initial user namespace). Since Linux 4.11, if when the last time the process called execve(2), it was in a noninitial user namespace that has a valid mapping for user (group) ID 0 inside the namespace, then the user (group) ownership of the files under /proc/pid is instead made the same as the root user (group) ID of the namespace. This means that inside a container, things work as expected for the container "root" user.

    The process's "dumpable" attribute may change for the following reasons:

    •   The attribute was explicitly set via the prctl(2) PR_SET_DUMPABLE operation.

    •   The attribute was reset to the value in the file /proc/sys/fs/suid_dumpable (described below), for the reasons described in prctl(2).

    Resetting the "dumpable" attribute to 1 reverts the ownership of the /proc/pid/* files to the process's effective UID and GID. Note, however, that if the effective UID or GID is subsequently modified, then the "dumpable" attribute may be reset, as described in prctl(2). Therefore, it may be desirable to reset the "dumpable" attribute after making any desired changes to the process's effective UID or GID.

    See also:

    proc_pid_attr(5)
    proc_pid_autogroup(5)
    proc_pid_auxv(5)
    proc_pid_cgroup(5)
    proc_pid_clear_refs(5)
    proc_pid_cmdline(5)
    proc_pid_comm(5)
    proc_pid_coredump_filter(5)
    proc_pid_cpuset(5)
    proc_pid_cwd(5)
    proc_pid_environ(5)
    proc_pid_exe(5)
    proc_pid_fd(5)
    proc_pid_fdinfo(5)
    proc_pid_gid_map(5)
    proc_pid_io(5)
    proc_pid_limits(5)
    proc_pid_map_files(5)
    proc_pid_maps(5)
    proc_pid_mem(5)
    proc_pid_mountinfo(5)
    proc_pid_mounts(5)
    proc_pid_mountstats(5)
    proc_pid_net(5)
    proc_pid_ns(5)
    proc_pid_numa_maps(5)
    proc_pid_oom_adj(5)
    proc_pid_oom_score(5)
    proc_pid_oom_score_adj(5)
    proc_pid_pagemap(5)
    proc_pid_personality(5)
    proc_pid_projid_map(5)
    proc_pid_root(5)
    proc_pid_seccomp(5)
    proc_pid_setgroups(5)
    proc_pid_smaps(5)
    proc_pid_stack(5)
    proc_pid_stat(5)
    proc_pid_statm(5)
    proc_pid_status(5)
    proc_pid_syscall(5)
    proc_pid_task(5)
    proc_pid_timers(5)
    proc_pid_timerslack_ns(5)
    proc_pid_uid_map(5)
    proc_pid_wchan(5)

/proc/self/
    This directory refers to the process accessing the /proc filesystem, and is identical to the /proc directory named by the process ID of the same process.

SEE ALSO
proc(5)