Wie kann ich herausfinden, wer einen bestimmten Befehl ausgeführt hat und mit welchem Terminal er ausgeführt wurde?
Original :
Wie kann ich wissen, dass bestimmte cmd von wem ausgeführt werden und über mein Terminal Bescheid wissen?
Wie kann ich herausfinden, wer einen bestimmten Befehl ausgeführt hat und mit welchem Terminal er ausgeführt wurde?
Original :
Wie kann ich wissen, dass bestimmte cmd von wem ausgeführt werden und über mein Terminal Bescheid wissen?
Antworten:
Um zu sehen, welche Befehle ausgeführt werden, verwenden Sie "ps -ef". Dies wird Ihnen sagen, was jeder tut, was normalerweise zu viele Informationen sind.
Um es einzugrenzen, um herauszufinden, wer einen bestimmten Befehl ausführt, können Sie einen "grep" -Filter wie folgt hinzufügen:
ps -ef | grep scp
Dies gibt alle scp-Befehle zurück, kann aber auch den Befehl grep zurückgeben, der nach scp sucht, sowie alle anderen Befehle mit den darin eingebetteten Buchstaben scp, da grep nur mit der Zeichenfolge übereinstimmt. Daher müssen Sie möglicherweise mit dem Ausdruck "grep" klug werden (häufig müssen Sie ihn nur zitieren und ein Leerzeichen hinzufügen:
ps -ef | grep "scp "
oder noch besser reguläre Ausdrücke nutzen und:
ps -ef | grep "[s]cp "
Wenn Sie den Benutzer kennen und nur wissen möchten, was er ausführt, ist "ps -fu" Ihr Freund. Zum Beispiel
ps -fu tom
Was natürlich mit grep kombiniert werden kann, um Toms scp-Prozesse zu erhalten:
ps -fu tom | grep "[s]cp "
Spalte 6 ist die tty.
Sie können tty
den Dateinamen des an die Standardeingabe angeschlossenen Terminals ermitteln.
Für den letzten Teil Ihrer Frage sudo
oder su
und dann grep -c 'command' /home/username/.bash_history
.