Quelle est la politique pour les autorisations sur / proc / <PID> / environ?

2

Je vois que ce processus utilisateur habituel obtient des autorisations lisibles par l'utilisateur:

-r-------- 1 1000 1000 0 Nov 19 13:51 /proc/9083/environ

mais f.ex. Le démon SCREEN devient rootpropriétaire:

-r-------- 1 root root 0 Nov 19 13:47 /proc/9167/environ

Bien que 9167 soit aussi l'utilisateur UID:

# ps axnu|grep 9167
    1000  9167  0.0  0.0  23488  2008 ?   Ss   13:47   0:00 SCREEN
midenok
la source

Réponses:

2

Sur la plupart des systèmes, /usr/bin/screenest installé avec le bit setuid pour root, ce qui signifie qu'il commencera par l'UID effectif 0 et ne supprimera que plus tard les privilèges (pour revenir à votre UID normal).

(Ceci est utilisé pour implémenter la fonctionnalité "partage de session", sinon votre écran ne serait pas autorisé à se connecter aux sockets écran des autres utilisateurs.)

Toutefois, étant donné que les processus privilégiés peuvent potentiellement garder en mémoire des informations sensibles, le noyau leur accorde une protection spéciale - même s’ils abandonnent tous les privilèges et basculent vers votre UID, vous ne pouvez toujours pas leur envoyer de signaux, attacher un débogueur ou créer des vidages de mémoire.

L'option "no core dumps", également appelée fs.suid_dumpableparamètre sysctl, est la raison pour laquelle les /procfichiers de Screen appartiennent en permanence à root, quel que soit son UID effectif.

Grawity
la source