/proc/の原因/*一般ユーザーとしてプロセスを開始しましたが、リソースはまだrootが所有していますか?

/proc/の原因/*一般ユーザーとしてプロセスを開始しましたが、リソースはまだrootが所有していますか?

/proc/<pid>/一部のプロセス(bashなど)では、プロセスを作成したユーザーがリソース全体を読み取ることができることがわかりました。ただし/proc/<pid>/、プロセス自体は通常のユーザーが所有し、suidを呼び出すことはありませんが、他のプロセス(chromeやgnome-keyring-daemonなど)のほとんどのリソースはルートからのみアクセスできます。

カーネルを調べたところ、タスクに「ダンプ可能」フラグがないと、/ proc /の内容が制限されることがわかりました。しかし、作業がダンプ不可能になる時点を理解するのが困難です(setuidを除く)。クロムやGNOMEキーリングを適用しないでください):

https://github.com/torvalds/linux/blob/164c09978cebebd8b5fc198e9243777dbaecdfa0/fs/proc/base.c#L1532

誰もがこれの基本的なメカニズムとその理由を理解するのを助けたいですか?

ありがとうございます!

編集する:

ユーザーがSSHエージェントをダンプできないようにする理由に関する良いドキュメントが見つかりましたgnome-keyring-daemon(例:)。まだわからないどのように gnome-keyring-daemon自分を抑えられないようにしてください。

https://github.com/torvalds/linux/blob/164c09978cebebd8b5fc198e9243777dbaecdfa0/Documentation/security/Yama.txt#L30

答え1

Linuxにはフラグを変更するシステムコールがありますdumpable。以下はいくつかのサンプルコードです。私は書いた数年前:

#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);

セキュリティ上の理由から、gnome-keyring-daemonフラグは意図的にゼロに設定される可能性がありますdumpable

関連情報