cgrulesengdのマニュアルページで、「プロセスが有効なUIDまたはGIDを変更する」とはどういう意味ですか?

cgrulesengdのマニュアルページで、「プロセスが有効なUIDまたはGIDを変更する」とはどういう意味ですか?

cgrules.configを使用して、ユーザー中心のプロセスを私のcgroupに移動する予定です。マニュアルページ(https://linux.die.net/man/8/cgrulesengd)cgrulesengdは、プロセスが有効なUIDまたはGIDを変更するたびに呼び出され、設定に従ってプロセスを移動することを意味します。しかし、「プロセスが有効なUIDまたはGIDを変更する」という声明は実際に何を意味しますか?プロセスの開始時にすべてのシナリオが含まれますか?つまり、新しいプロセスが構成に従って移動されます。

私はいくつかの構成で遊んで、はい、新しいプロセスが移動することを知っていましたが、ドキュメントには明確ではないので、確認したいと思いました。

答え1

あなたは読まなければなりませんhttps://man7.org/linux/man-pages/man7/credentials.7.html

有効ユーザーIDと有効グループID。カーネルはこれらのIDを使用して、メッセージキュー、共有メモリ、セマフォなどの共有リソースにアクセスするときにプロセスが持つ権限を決定します。ほとんどのUNIXシステムでは、これらのIDはファイルにアクセスするときの権限も決定します。ただし、Linuxは以下のファイルシステムIDを使用してこれを行います。プロセスは geteuid(2)(getegid(2)) を使用して有効なユーザー (グループ) ID を取得できます。

ほとんどの場合、プロセスの有効なUIDは実際のUIDと同じです。ただし、これはset-uid実行可能ファイルを実行すると変更される可能性があります。

たとえば、を実行してsu user有効なuidをrootに変更すると、suuidを指定されたユーザーに変更できます。ただし、通常のユーザーはsuパスワードを入力しないと確認できないため、実際のuidを確認します。

関連情報