mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
docs,procfs: document /proc/PID/* access permission checks
Add a paragraph explaining what sort of capabilities a process would need to read procfs data for some other process. Also mention that reading data for its own process doesn't require any extra permissions. Link: https://lkml.kernel.org/r/20250129001747.759990-1-andrii@kernel.org Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Reviewed-by: Shakeel Butt <shakeel.butt@linux.dev> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Christian Brauner <brauner@kernel.org> Cc: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jann Horn <jannh@google.com> Cc: Kees Cook <kees@kernel.org> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: "Mike Rapoport (IBM)" <rppt@kernel.org> Cc: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Suren Baghdasaryan <surenb@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
541da9f87d
commit
87ad827a27
@ -128,6 +128,16 @@ process running on the system, which is named after the process ID (PID).
|
||||
The link 'self' points to the process reading the file system. Each process
|
||||
subdirectory has the entries listed in Table 1-1.
|
||||
|
||||
A process can read its own information from /proc/PID/* with no extra
|
||||
permissions. When reading /proc/PID/* information for other processes, reading
|
||||
process is required to have either CAP_SYS_PTRACE capability with
|
||||
PTRACE_MODE_READ access permissions, or, alternatively, CAP_PERFMON
|
||||
capability. This applies to all read-only information like `maps`, `environ`,
|
||||
`pagemap`, etc. The only exception is `mem` file due to its read-write nature,
|
||||
which requires CAP_SYS_PTRACE capabilities with more elevated
|
||||
PTRACE_MODE_ATTACH permissions; CAP_PERFMON capability does not grant access
|
||||
to /proc/PID/mem for other processes.
|
||||
|
||||
Note that an open file descriptor to /proc/<pid> or to any of its
|
||||
contained files or subdirectories does not prevent <pid> being reused
|
||||
for some other process in the event that <pid> exits. Operations on
|
||||
|
Loading…
Reference in New Issue
Block a user