Schreiben Sie ein Skript, um festzustellen, welche Benutzer gerade tippen. [geschlossen]

1

Ich arbeite in einem Labor für eine Cybersicherheitsklasse und muss herausfinden, wann bestimmte Benutzer miteinander kommunizieren (über Named Pipes).

Die Benutzer verwenden:

python gameProgram.py

Und dann nimmt dieser Prozess Eingaben entgegen und schreibt sie in die Named Pipes.

Ich kenne die Datei / dev / random, die geändert wird, wenn jemand tippt, aber das kann mir nicht sagen, WER sie tippt, oder?

Ich denke an so etwas wie:

grep "voluntary_switches" /proc/####/sched

Ich bin ehrlich gesagt ziemlich fest. Das Obige gibt nur eine ganze Zahl zurück. Außerdem muss ich die Prozessnummer irgendwie bekommen. Ich habe jetzt Probleme damit, ein Skript zu entwickeln, mit dem ich von (A) einer Liste ausgeführter Prozesse zu (B) einem Benutzernamen wechseln kann, wenn dieser Benutzer tippt. Und leider keine Sudo-Privilegien.

Ich muss Folgendes tun:

echo 'ps | grep "python" |    ???    |  grep "voluntary_switches"'

Art von ...?

Jede Hilfe wäre sehr dankbar!

user1399747
quelle

Antworten:

0

Das Ziel der Übung ist es, Sie in einem anderen Denken zu schulen, sodass eine Antwort mit einem 20-zeiligen Bash-Skript, um nur Ihr Problem zu lösen, nicht wirklich hilft. Um die Frage mit anderen Worten zu formulieren

Wie kann Benutzer Alice unter Verwendung von Unix-Befehlen feststellen, ob Benutzer Bob aktiv ist / tippt?

Eine Möglichkeit , das zu lösen ist bei allen Informationen suchen Bob (oder die laufen Prozesse von Bob) werden über Standard - Unix - Funktionalität „undicht“, in diesem Fall in erster Linie die Prozesstabelle (die durch zugegriffen wird ps, topund eine Reihe von anderen Werkzeugen) . Um herauszufinden, welche Informationen verfügbar sind, experimentieren Sie am besten mit:

  • Melde python gameProgram.pydich einmal an und laufe mit einem Freund von dir (gib nichts ein, lass es einfach inaktiv sein)
  • Melden Sie sich mit einer zweiten Sitzung an und pssehen Sie sich den pythonVorgang an. Verändert sich eine Information, während niemand tippt, oder bleibt bei verschiedenen Anrufen alles gleich ps?
  • Beginnen Sie mit Ihrem Freund zu tippen / zu chatten
  • Verwenden Sie pserneut, um festzustellen, ob sich jetzt etwas an der Ausgabe ändert (zumindest wird dies geschehen). Können Sie das zu Ihrem Vorteil nutzen?

Sobald Sie die Grundlagen zusammen haben (dh wissen, welche Informationen psfür die Bestimmung der Benutzeraktivität relevant sind), kombinieren Sie alles in einem Shell-Skript.

Nohillside
quelle