Wie lauten die Richtlinien für Berechtigungen für / proc /<pid>/ environ? </pid>

1365
midenok

Ich sehe, dass der normale Benutzerprozess vom Benutzer lesbare Berechtigungen erhält:

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

aber zB SCREEN-Dämon erhält rootBesitz:

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

9167 ist jedoch auch eine Benutzer-UID:

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

1 Antwort auf die Frage

2
grawity

Auf den meisten Systemen /usr/bin/screenwird das Setuid- Bit für root installiert. Dies bedeutet, dass es zuerst mit der effektiven UID 0 beginnt und erst später die Privilegien verwirft (die zu Ihrer normalen UID zurückkehren).

(Dies wird zum Implementieren der Funktion "Sitzungsfreigabe" verwendet, da Ihr Bildschirm sonst keine Verbindung zu den Bildschirmbuchsen anderer Benutzer herstellen darf.)

Da privilegierte Prozesse jedoch möglicherweise vertrauliche Informationen im Speicher halten können, bietet der Kernel einen besonderen Schutz - selbst wenn sie alle Berechtigungen aufheben und zu Ihrer UID wechseln, können Sie ihnen immer noch keine Signale senden, keinen Debugger anhängen oder Core-Dumps erstellen.

Die Option "keine Kernspeicherauszüge", die auch als fs.suid_dumpablesysctl-Einstellung bezeichnet wird, bewirkt, dass die /procDateien von Screen unabhän- gig von der effektiven UID dauerhaft im Besitz von root sind.