GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Muss sich ein Benutzer anmelden, um einen Prozess auszuführen und sein Eigentümer zu werden?

Muss sich ein Benutzer im Allgemeinen anmelden, um einen Prozess auszuführen und sein Eigentümer zu werden (ruid oder euid)? Gilt dies für alle Benutzer oder Nicht-Root-Benutzer?
Zum Beispiel:

  • In der Boot-Sequenz von Linux startet der Kernel das Init-System als ersten Prozess, und dann führt der Init-Prozess login aus damit sich jeder Benutzer anmelden kann.
    Der Init-Prozess gehört root , und macht den Benutzer root müssen Sie sich anmelden, bevor Sie init starten Prozess? Siehe Warum gibt es einen `systemd`-Prozess, der jedem angemeldeten Benutzer gehört?

  • Bei Verwendung von ssh Um einen Befehl auszuführen, ohne eine interaktive Shell zu starten, müssen wir uns zuerst anmelden oder nicht, um den Befehl auszuführen?

Wie kann ich das tun, wenn ich mich nicht anmelden muss, um einen Prozess als dessen Eigentümer auszuführen?

Danke.

Akzeptierte Antwort:

Nein, Sie müssen sich nicht anmelden, um einen Prozess zu starten, der als ein bestimmter Benutzer ausgeführt wird. Das Einloggen ist ein User-Space-Konstrukt; dem Kernel ist das egal. Dafür gibt es mehrere Beispiele; Cron-Jobs können beispielsweise von jedem Benutzer ausgeführt werden, ohne dass dieser Benutzer angemeldet ist.

Um Ihre spezifischen Fragen zu beantworten:

  • nein, root muss sich nicht anmelden, um init zu starten Gott sei Dank (stellen Sie sich vor, Sie würden ansonsten eine Flotte von Tausenden von Servern und Millionen von VMs handhaben);
  • Verbindung über SSH gilt als Anmeldung.

Linux
  1. Führen Sie Container unter Linux ohne sudo in Podman aus

  2. Lernen Sie den Unterschied zwischen den Befehlen „su“ und „su -“ in Linux kennen

  3. So finden und töten Sie den Zombie-Prozess in Linux

  4. Linux – Unterschied zwischen User Space und Kernel Space?

  5. So sperren und entsperren Sie Benutzer in Linux

Linux-Befehl id - Gibt Benutzer-ID- und Gruppen-ID-Informationen aus

Linux-Kernel und seine Funktionen

So kompilieren und führen Sie C- und C++-Programme unter Linux aus

So unterbrechen Sie einen Prozess und setzen ihn später in Linux fort

Wie man ein C-Programm unter Linux schreibt und ausführt

So verfolgen und verfolgen Sie einen Linux-Prozess