プロセスのEUID、EGIDなどはどこに保存されますか?

プロセスのEUID、EGIDなどはどこに保存されますか?

私はLinuxの権限に関する記事を読んでいましたが、そこで言及されたことがないことがわかりました。どのように動作するか知りたいです。

状況例:read_file.outファイルを読み取り、~/file.txt内容を印刷するバイナリファイルを実行します。これはstdout、プロセスを作成したユーザーおよび/またはユーザーの身元に基づいてシステムが読み取ることができると判断するプロセスを生成します。~/file.txtEUIDEGID

この値は正確にどこに保存されていますか?システムで
「」と言う場所はどこですか?EUIDは1002なので、ファイルを読み取ることができます。
または
あなたのEUIDは1003なので読むことができず、あなたはこのファイルにアクセスできるグループのメンバーではないので、読み取ることはできません。「?

私は疑似ファイルシステムに/proc/<pid>/特に/proc/<pid>/stat/proc/<pid>/statusより良い読み取りバージョンstat)ファイルがあることを発見しました。システムが権限を決定するファイルですか、それともこのコマンドのソースとしてのみ使用される「情報」ファイルですかps

回答ありがとうございます。

ベストアンサー1

カーネルデータ構造から。の仮想ファイルは/proc/<pid>/単にそのファイルのビューです。これでソースコードを見ることができますが、実際に動作するかどうか疑問です。各プロセスには、UIDとGIDのすべてのフィールドと、補助グループテーブルと他のプロセス固有のデータを含む単純なC構造があります。

おすすめ記事