Führen Sie beim SSH-Login ein Skript aus

Führen Sie beim SSH-Login ein Skript aus

Ich habe eine Entwicklungsumgebung mit 4 Benutzern und möchte deren Anmeldezeiten protokollieren können, da sie als Auftragnehmer von zu Hause aus arbeiten.

Ich habe KEINE Ahnung, wie das geht, mein Systemadministrator hat mich dieses Wochenende verlassen und ich bin hier verloren. Ich möchte ein Skript oder einen Befehl nur für die erste Anmeldung pro Tag ausführen können. und wenn möglich, wenn sie sich abmelden.

Beispiel:

heute um 8 Uhr Benutzer1 anmelden: Führen Sie einen Befehl /path/command.sh aus. heute um 9 Uhr Benutzer2 anmelden: Führen Sie einen Befehl /path/command.sh aus. heute um 14 Uhr Benutzer1 abmelden. heute um 15 Uhr Benutzer1 anmelden: Nichts tun. heute um 16 Uhr Benutzer1 anmelden (zweites Shell-Fenster): Nichts tun usw. …

Ich denke, ich kann die .profile-Datei verwenden, bin mir aber nicht sicher, danke.

läuft auf Ubuntu Server 12.04

Antwort1

Um die Zeit zu verfolgen, zu der sie sich anmelden, müssen Sie nichts tun. Der lastBefehl teilt Ihnen mit, wann sie sich angemeldet haben, sogar anderthalb Wochen später. Er teilt Ihnen auch mit, wann sie sich abgemeldet haben, was für Sie nützlich sein kann.

Um einen Befehl auszuführen, können Sie die .profileDatei verwenden, aber das größte Problem dabei ist, dass viele Programmierer diese Datei ändern, um die von ihnen bevorzugte Umgebung einzurichten, wodurch Ihre Änderungen möglicherweise gelöscht werden. Bitte sagen Sie ihnen nicht, dass sie das nicht können – das Einrichten einer individuellen Umgebung über Dot-Dateien ist einfach Teil der Arbeit. Sie würden bestenfalls technisch unerfahren wirken, wir werden nicht auf den schlimmsten Teil eingehen.

Ehrlich gesagt würde ich empfehlen, einen anderen Weg zu finden, das zu tun, was Sie tun, indem Sie diesen Befehl ausführen. Das ist ein Personal-/Soziologie-/Managementproblem, und der Versuch, diese Probleme mit technischen Mitteln zu lösen, ist ... nicht gut. Und wie @Vinz anmerkt, bedeutet das bloße Anmelden, wenn sie sich anmelden, nicht, dass Sie nützliche Informationen über die Arbeit erhalten, die sie tun.

Antwort2

Es gibt ein paar einfache Befehle, mit denen Sie sehen können, was sie gerade tun.

  • letztes Protokoll#sehen Sie, wann der letzte angemeldete
  • WHO#sehen Sie, wer aktuell mit der Maschine verbunden ist
  • ps -U Benutzername#zeigt, welche Prozesse sie verwenden
  • lsof | grep-Benutzername #zeigt, welche Felder sie im Einsatz haben

aber das scheint eher ein Managementproblem oder vielleicht sogar ein Vertrauensproblem zu sein?

verwandte Informationen