Zum Hauptinhalt springen

Welcher Benutzer hat den Prozess unter Linux gestartet: Eine detaillierte Anleitung

Unter einem Linux-Betriebssystem ist jeder Prozess, der ausgeführt wird, einem bestimmten Benutzer zugeordnet. Die Kenntnis dieser Informationen kann bei der Leistungsanalyse, der Sicherheitsinstallation oder beim Debuggen des Systems hilfreich sein. In diesem Handbuch werden wir verschiedene Methoden untersuchen, um den Benutzer zu identifizieren, für den ein Prozess unter Linux ausgeführt wird.

Eine Möglichkeit, Informationen über den Benutzer zu erhalten, der den Prozess gestartet hat, besteht darin, den ps-Befehl mit dem Flag -f zu verwenden. Der ps-Befehl kann Informationen zu Prozessen anzeigen, einschließlich des Benutzers, der den Prozess gestartet hat. Das Flag -f gibt an, dass vollständige Informationen zum Prozess angezeigt werden.

Beispiel für die Verwendung des Befehls ps -f:

ps -f

Als Ergebnis sehen Sie eine Liste mit Prozessen, die Informationen über den Benutzer enthält, der den Prozess gestartet hat. Jeder Prozess hat eine Spalte "UID", die der Benutzer-ID entspricht. Benutzer-IDs können Zahlen oder Namen sein, abhängig von den Systemeinstellungen.

Eine andere Möglichkeit, den Benutzer zu bestimmen, der den Prozess gestartet hat, besteht darin, den Befehl top zu verwenden. Der Befehl top zeigt die aktuelle Systemaktivität einschließlich der Prozesse an und sortiert sie nach verschiedenen Spalten. Standardmäßig sortiert der Befehl top Prozesse nach CPU-Auslastung.

Was ist Linux und welcher Benutzer kann Prozesse ausführen

Unter Linux gibt es viele Benutzer, von denen jeder seine eigenen Berechtigungen für Dateien und Systemressourcen hat. Jeder Benutzer verfügt über eine eindeutige Benutzer-ID (UID) und eine Gruppen-ID (GID), die seine Zugriffsrechte definiert.

Der Benutzer, der die Prozesse ausführt, muss über die entsprechenden Berechtigungen und Berechtigungen verfügen. Unter Linux gibt es verschiedene Arten von Benutzern, die Prozesse ausführen können:

BenutzerDie Beschreibung
rootEin Benutzer mit vollen Berechtigungen, auch bekannt als Superuser. Es hat die volle Kontrolle über das System und kann Prozesse im Auftrag eines jeden Benutzers ausführen.
normaler BenutzerNormale Benutzer haben eingeschränkte

Grundlagen

Unter einem Linux-Betriebssystem wird jeder Prozess im Auftrag eines bestimmten Benutzers ausgeführt. Der Benutzer, der den Prozess ausführt, definiert seine Berechtigungen und Zugriffsrechte für Systemressourcen. Daher ist es wichtig zu wissen, welcher Benutzer einen bestimmten Prozess gestartet hat.

Sie können den ps-Befehl verwenden, um den Benutzer zu bestimmen, der den Prozess gestartet hat. Wenn Sie diesen Befehl mit der Option -ef oder -aux aufrufen, werden alle laufenden Prozesse im System zusammen mit Informationen über den Benutzer angezeigt, der die einzelnen Prozesse gestartet hat.

Das FeldDie Beschreibung
USERDer Name des Benutzers, der den Prozess gestartet hat
PIDProzess-ID
PPIDÜbergeordnete Prozess-ID
CDie Anzahl der von diesem Prozess erstellten untergeordneten Prozesse
STIMEStartzeit des Prozesses
TTYKontrollterminal
TIMEGesamtzeit der CPU-Auslastung durch den Prozess
CMDDer Befehl, der den Prozess ausgelöst hat

Das Feld USER zeigt den Namen des Benutzers an, der jeden Prozess gestartet hat. Sie können einen Filter verwenden, um nur Prozesse anzuzeigen, die von einem bestimmten Benutzer ausgeführt werden. Beispielsweise zeigt der Befehl ps -u username nur Prozesse an, die von einem Benutzer mit dem Namen username gestartet werden.

Wie kann ich herausfinden, welcher Benutzer den Prozess gestartet hat

Wenn Sie mit einem Linux-Betriebssystem arbeiten, müssen Sie möglicherweise wissen, welcher Benutzer den Start eines bestimmten Prozesses initiiert hat. Diese Informationen können bei der Suche und Behebung von Problemen sowie bei der Durchführung von Systemprüfungen hilfreich sein.

Es gibt mehrere Möglichkeiten, den Benutzer zu identifizieren, der den Prozess gestartet hat:

  1. Verwenden des Befehls ps. Dazu müssen Sie den Befehl ausführen ps aux im Terminal. Die Ausgabe zeigt alle laufenden Prozesse an, einschließlich ihrer ID (PID), des Benutzernamens (USER) und mehr.
  2. Verwenden des Befehls top. Führen Sie den Befehl aus top im Terminal, und drücken Sie dann die Taste "U", um die Prozesse nach Benutzer zu sortieren. Sie sehen eine Liste der Prozesse mit ihrer ID, ihrem Benutzernamen und anderen Informationen.
  3. Verwenden des Befehls lsof. Führen Sie den Befehl aus lsof -p, um die geöffneten Prozessdateien zu ermitteln, wobei dies die Prozess-ID ist. Dadurch werden Informationen zum Prozess einschließlich des Benutzernamens angezeigt.
  4. Verwenden des Befehls stat. Geben Sie an der Eingabeaufforderung Folgendes ein stat /proc//status, wobei dies die Prozess-ID ist. In der Ausgabe finden Sie Informationen zum Prozess, einschließlich des Benutzernamens.

Zu wissen, welcher Benutzer den Prozess gestartet hat, kann bei der Lösung verschiedener Aufgaben unter Linux hilfreich sein. Abhängig von Ihrer Situation und Ihren Anforderungen können Sie eine der vorgeschlagenen Methoden verwenden.

Wie kann ich herausfinden, welcher Benutzer einen Prozess starten kann

Unter einem Linux-Betriebssystem wird jeder Prozess im Auftrag eines bestimmten Benutzers ausgeführt. Sie können den Befehl su verwenden, um herauszufinden, welcher Benutzer den Prozess starten kann. Mit dem Befehl su können Sie vorübergehend zu einem anderen Benutzer mit den Rechten dieses Benutzers wechseln.

Um den Befehl su zu verwenden, geben Sie im Terminal den folgenden Befehl ein:

Nachdem Sie diesen Befehl eingegeben haben, werden Sie aufgefordert, das Kennwort des Benutzers einzugeben, für den Sie den Prozess starten möchten. Wenn das Kennwort korrekt ist, werden Sie zu diesem Benutzer gewechselt und können Prozesse starten.

Wenn Sie wissen möchten, welche Benutzer Prozesse auf dem System ausführen können, können Sie sich die Liste der Benutzer ansehen, die in der Datei /etc/passwd enthalten sind. Geben Sie dazu den folgenden Befehl im Terminal ein:

Als Ergebnis sehen Sie eine Liste von Benutzern im Format:

BenutzernameVerschlüsseltes PasswortBenutzer-IDBenutzergruppenidBeschreibung des BenutzersHome-Verzeichnis des BenutzersInterpreter für Benutzerbefehle
user1********10001000Benutzer 1/home/user1/bin/bash
user2********10011001Benutzer 2/home/user2/bin/bash
user3********10021002Benutzer 3/home/user3/bin/bash

Mit dem Befehl su und dem Durchsuchen der Datei /etc/passwd können Sie also herausfinden, welcher Benutzer den Prozess unter Linux ausführen kann. Beachten Sie, dass Sie möglicherweise ein Root-Passwort benötigen, um den Befehl su zu verwenden.

Praktische Anleitung

Unter Linux gibt es mehrere Möglichkeiten zu bestimmen, welcher Benutzer einen Prozess gestartet hat. Die Kenntnis dieser Informationen kann in vielen Fällen von Vorteil sein, von der Ermittlung der Ursache von Systemfehlern oder Problemen bis zur Überwachung der Sicherheit und der Verwaltung von Zugriffsrechten.

Eine Möglichkeit, den Benutzer herauszufinden, der den Prozess gestartet hat, besteht darin, den Befehl zu verwenden ps. Dieser Befehl zeigt eine Liste der Prozesse an, die auf dem System ausgeführt werden, und enthält Informationen über den Benutzer, der jeden Prozess gestartet hat.

Um den Namen des Benutzers herauszufinden, der einen bestimmten Prozess gestartet hat, müssen Sie den folgenden Befehl ausführen:

Hier ist die Prozess-ID, an der Sie interessiert sind. Sie können die Prozess-ID mit dem Befehl finden ps -e, die eine Liste aller Prozesse im System anzeigt.

Wenn Sie den Benutzer für mehrere Prozesse auf einmal kennen möchten, können Sie ihre IDs durch Kommas getrennt auflisten. Zum Beispiel:

Außer dem Team ps. Sie können auch den Befehl verwenden top um Prozesse in Echtzeit zu verfolgen. Am oberen Rand des Bildschirms sehen Sie eine Liste der Prozesse mit ihren IDs und Namen der Benutzer, die diese Prozesse gestartet haben.

Neben den Teams ps und top. es gibt auch andere Tools zum Analysieren von Prozessen unter Linux, wie zum Beispiel htop und pgrep. Verwenden Sie das Werkzeug, das für Sie am bequemsten ist und Ihren Bedürfnissen entspricht.

Jetzt wissen Sie, wie Sie den Benutzer identifizieren können, der den Prozess unter Linux gestartet hat. Dies ist praktisches Wissen, das in vielen Situationen nützlich sein kann. Viel Glück beim Erlernen von Linux!

Wie führe ich einen Prozess im Namen eines bestimmten Benutzers aus

Unter Linux gibt es verschiedene Möglichkeiten, Prozesse für einen bestimmten Benutzer auszuführen. Dies kann nützlich sein, wenn Sie bestimmte Zugriffsrechte für einen Prozess festlegen oder dessen Funktionen einschränken möchten.

Eine der häufigsten Methoden ist die Verwendung eines Befehls su. Mit diesem Befehl können Sie vorübergehend zur Sitzung eines anderen Benutzers wechseln und den Prozess in seinem Namen starten. Wenn Sie beispielsweise einen Prozess als Benutzer "user2" ausführen möchten, können Sie den folgenden Befehl verwenden:

su user2 -c "command"

Dabei steht "command" für den Befehl oder das Skript, das Sie als Benutzer "user2" ausführen möchten. Wenn Sie diesen Befehl verwenden, müssen Sie möglicherweise das Benutzerpasswort "user2" eingeben, um Ihre Identität zu bestätigen.

Eine andere Möglichkeit besteht darin, den Befehl zu verwenden sudo. Mit dem sudo-Befehl können Sie Prozesse im Namen anderer Benutzer ausführen, jedoch mit viel Flexibilität und Kontrolle. Sie können angeben, welche Benutzer bestimmte Befehle mit Administratorrechten ausführen können, und angeben, dass der Benutzer vor der Ausführung des Befehls ein Kennwort eingeben muss.

Verwenden Sie die folgende Syntax, um den Prozess als anderer Benutzer mit dem Befehl sudo zu starten:

sudo -u user2 command

Dabei steht "user2" für den Namen des Benutzers, unter dem Sie den Prozess starten möchten, und "command" für den Befehl oder das Skript, das in seinem Namen ausgeführt werden soll. Wenn Sie diesen Befehl verwenden, müssen Sie möglicherweise Ihr Passwort eingeben und nicht das Kennwort des Benutzers, für den Sie den Prozess starten möchten.

Mit dem Befehl su oder sudo können Sie Prozesse im Auftrag anderer Benutzer unter Linux ausführen. Wählen Sie das Team aus, das Ihren Sicherheitsanforderungen und -anforderungen am besten entspricht.

Wie führe ich den Prozess im Hintergrund aus

Manchmal muss ein Prozess im Hintergrund ausgeführt werden, damit er im Hintergrund ausgeführt wird, ohne Ihre Arbeit im Terminal zu unterbrechen. Unter Linux wird dafür das Sonderzeichen & am Ende des Befehls verwendet.

Zum Beispiel, um einen Programmprozess zu starten test.py im Hintergrund müssen Sie den folgenden Befehl ausführen:

Nachdem Sie die Eingabetaste gedrückt haben, wird der Prozess im Hintergrund gestartet und Sie erhalten eine umgekehrte Aufforderung zur Eingabe des nächsten Befehls.

Im Gegensatz zum normalen Ausführen eines Prozesses wird der Befehl parallel zu anderen Aufgaben ausgeführt, auch wenn er zeitaufwändig ist. Sie können weiterhin im Terminal arbeiten, ohne darauf zu warten, dass der Prozess beendet wird.

Um die Liste der Hintergrundprozesse anzuzeigen, können Sie den Befehl jobs verwenden:

Es zeigt Ihnen eine Liste der im Hintergrund laufenden Prozesse und deren IDs an. Sie können die Prozess-ID verwenden, um sie zu verwalten, z. B. ein Signal senden, um den Prozess zu beenden.

Wenn Sie den Prozess im Hintergrund im Vordergrund ausführen möchten, können Sie den Befehl fg verwenden:

  • fg [prozess-ID]

Zum Beispiel, wenn die Prozess-ID test.py ist 1, würde der Befehl wie folgt aussehen:

Der Prozess wird nun im Vordergrund ausgeführt, und Sie können die Ausführung steuern und die Ausgabe im Terminal sehen. Um den Prozess wieder in den Hintergrund zu versetzen, können Sie die Tastenkombination Strg+Z. verwenden.

Das Ausführen von Prozessen im Hintergrund ermöglicht es Ihnen daher, weiterhin im Terminal zu arbeiten, ohne die Ausführung von Prozessen zu unterbrechen, die viel Zeit benötigen. Es ist sehr praktisch und effektiv für die Arbeit mit Linux.