プロセスを実行して所有者になるには、ユーザーがログインする必要がありますか?

プロセスを実行して所有者になるには、ユーザーがログインする必要がありますか?

通常、プロセスを実行して所有者(ruidまたはeuid)になるには、ユーザーがログインする必要がありますか?これは、すべてのユーザーまたはroot以外のユーザーに機能しますか?たとえば、

  • Linux起動シーケンスでは、カーネルは最初のプロセスとしてinitシステムを起動し、loginすべてのユーザーがログインできるようにinitプロセスを実行します。 initプロセスはに属しますrootrootプロセスを開始する前にユーザーはログインする必要がありますかinit?バラよりログインしたすべてのユーザーに「systemd」プロセスがあるのはなぜですか?

  • 対話型シェルを起動せずにrunコマンドを使用している場合は、sshコマンドを実行する前にログインする必要がありますか?

プロセスを実行するためにプロセス所有者としてログインする必要がない場合はどうすればよいですか?

ありがとうございます。

答え1

いいえ、指定されたユーザーとして実行されるプロセスを開始するためにログインする必要はありません。ログインはユーザースペース構成です。カーネルはこれを気にしません。これには多くの例があります。たとえば、ユーザーがログインしなくても cron ジョブを実行できます。

特定の問題を解決するには:

  • いいえ、幸いなことに、ルートはプロセスを開始するためにログインする必要はありませんinit(数千台のサーバーと数百万台のVMキューを処理すると想像してください)。
  • SSHを使用して接続すると、ログインと見なされます。

関連情報