J'ai remarqué que certains procs, tels que bash, ont tout leur /proc/<pid>/
ressources lisibles par l'user qui a créé ce proc. Cependant, d'autres procs, comme chrome ou gnome-keyring-daemon, ont la plupart de leurs /proc/<pid>/
ressources accessibles uniquement par root, bien que le process lui-même soit la propriété de l'user normal et qu'aucun suid ne soit appelé.
J'ai creusé un peu le kernel et j'ai trouvé que le file / proc / stuff était limité si une tâche manquait d'un indicateur 'dumpable', mais j'ai du mal à comprendre sous quels scénarios une tâche devient undumpable (autre que le cas setuid, qui ne s'applique pas aux porte-keys chrome ou gnome):
https://github.com/torvalds/linux/blob/164c09978cebebd8b5fc198e9243777dbaecdfa0/fs/proc/base.c#L1532
Quelqu'un se soucie de m'aider à comprendre le mécanisme sous-jacent et ses raisons?
Merci!
Modifier:
J'ai trouvé un bon document sur les raisons pour lesquelles vous ne voudriez pas que votre user utilise votre agent SSH (tel que gnome-keyring-daemon
). Toujours pas sûr de savoir comment gnome-keyring-daemon
se fait undumpable.
https://github.com/torvalds/linux/blob/164c09978cebebd8b5fc198e9243777dbaecdfa0/Documentation/security/Yama.txt#L30
Linux a un appel système, qui va changer le drapeau dumpable
. Voici un exemple de code, que j'ai écrit il y a plusieurs années:
#include <sys/prctl.h> ... /* The last three arguments are just padding, because the * system call requires five arguments. */ prctl(PR_SET_DUMPABLE,1,42,42,42);
Il se peut que gnome-keyring-daemon
délibérément le drapeau dumpable
à zéro pour des raisons de security.