Ich möchte die Verlaufseinstellungen für alle Benutzer auf den von mir verwalteten Systemen ändern. Ich möchte, dass es die Informationen vom Verbindungsterminal wie von enthältwho
sysadmin:/ # who
sysadmin pts/0 Mar 26 07:11 (sysadmin.doofus.local)
Derzeit ändere ich meinen Verlauf folgendermaßen. Ich weiß, dass viele dieser Einstellungen hier mehrmals behandelt wurden. Ich habe diesen Code jedoch vor langer Zeit aus " Linux System Administration Recipes by: Juliet Kemp " abgerufen.
shopt -s histappend
PROMPT_COMMAND='history -n;history -a'
HISTSIZE=100000
HISTFILESIZE=100000
HISTTIMEFORMAT="%m/%d/%y %T "
shopt -s histappend Behebt das Problem, wenn mehrere Terminals geöffnet sind. Informationen können verloren gehen.
PROMPT_COMMAND='history -n;history -a' wird erweitert, um das Anhängen des Verlaufs in Echtzeit über mehrere Terminals hinweg zu ermöglichen.
HISTSIZE=100000
HISTFILESIZE=100000
verlängert die historyRetentionsmenge
HISTTIMEFORMAT="%m/%d/%y %T "stellt jeder Zeile der Geschichte einen Zeitstempel voran
Was Sie normalerweise bekommen history
835 ls
836 cd ..
Meine geänderten aktuellen historyErgebnisse
5853 03/26/12 07:16:49 ls
5854 03/26/12 07:16:50 ll
Die Rückkehr von historywürde ich gerne sehen
5853 03/26/12 07:16:49 sysadmin.doofus.local ls
5854 03/26/12 07:16:50 sysadmin.doofus.local ll
001 03/26/12 05:11:29 demo_user.doofus.local cd
002 03/26/12 05:11:30 demo_user.doofus.local ll
Ich bin nicht "verheiratet", den DNSNamen zu sehen . Ich würde es nur dort haben wollen, wenn es von whoeinem anderen Ort abgerufen wird, ohne dass eine Suche oder Abfrage jeglicher Art durchgeführt werden muss. Ich würde mich über die IP-Adresse freuen.
002 03/26/12 05:11:30 192.168.0.2 ll
Warum? Ich verwalte mehrere Systeme, auf denen eine Benutzer-ID, die mehrere Benutzer derselben Gruppe gemeinsam nutzen, ihre täglichen Aufgaben erledigt. Dies würde es mir ermöglichen, ihren tatsächlichen Standort und den tatsächlichen Benutzer innerhalb der Organisation mit dem zu korrelieren, was sie in der Geschichte getan haben.
Ich bin mir bewusst, dass dies nicht optimal ist und möchte es ändern, aber wenn Sie auf einem Schiff von der Größe eines Kreuzfahrtschiffes sind, versuchen Sie nicht, Haarnadelkurven zu drehen. (Hinweis: Wenn Sie dies tun, versuchen die Passagiere, Sie über Bord zu werfen.)
Bis ich sie auf eine bessere Lösung migrieren kann, möchte ich diese Tracking-Funktion haben.
Wenn Sie Empfehlungen dazu haben, was ich derzeit für meine historyÄnderungen verwende, würde ich es gerne hören.
Vielen Dank,
Bearbeiten: 1
Ich möchte keine anderen Programme ausführen oder zusätzliche "im Rahmen der Vernunft" konfigurieren müssen.
Ich möchte 0Overhead hinzufügen , wenn ich hinzufügen muss, muss es klein sein.
Ich vertraue meinen Benutzern, ich möchte nur (sollte etwas passieren) sehen, welcher der 10 Benutzer, die sich mit demselben Benutzer am System angemeldet haben: Passwort hat es getan. Oder es könnte kein Benutzer gewesen sein, es könnte ein Vergessen cronauf einem System gewesen sein, das als Benutzer eine Verbindung herstellt, um etwas zu tun. Oder eine Anwendung Bsp.: Die BMC Control-Meine Verbindung herstellt sshund Aufgaben ausführt. Es geht weniger darum, "schlechte Benutzer" zu finden, als vielmehr darum, sie mit minimalem Aufwand aufzuspüren.
Bearbeiten 2:
Auf den Systemen werden SLES und RHEL ausgeführt
/proc /devund Benutzerverzeichnisse aus /home. Dies erhöht den Overhead. Während historybereits aufgezeichnet wird und ihre Verbindungsinformationen dem System bekannt sind, das IP usw. verbindet. Diese Informationen können, falls sie nicht bereits "statisch" verfügbar sind, auf diese Weise festgelegt oder in einer Variablen oder Datei gespeichert und in die historyDatensätze und den Leistungstreffer eingegeben werden wäre sehr klein oder 0.
auditd. Ich bin nicht sicher, ob die Protokolle Ihnen genügend Informationen geben. Die Schwierigkeit dessen, was Sie wollen, ist genau, warum gemeinsam genutzte Konten so verurteilt werden.
auditdEs ist sehr ähnlich inotify, wie Sie sagen müssen, was auf Änderungen überwacht werden soll. Einzelne Dateien, Verzeichnisse usw. Ich möchte nicht zu dieser Konfigurationsebene wechseln. In der Tat (ich tue), aber im Grunde ist es nicht so wichtig. Ich muss puppetmit dem Zeug umgehen. auditdkommt mit der zusätzlichen Last und Zeit zum Einrichten. Wenn ein Konto etwas ändert, möchte ich trotzdem in den Verlauf zurückblicken und sehen, wer oder was sich anmeldet und versucht.
PROMPT_COMMAND=nur normale Befehle vor der nächsten Eingabeaufforderung ausgeführt werden, konnten Sie keine Funktion schreiben, die sed / awk aufruft und in der letzten Zeile der Verlaufsdatei arbeitet, um die Informationen hinzuzufügen. Rufen Sie dann diese Funktion auf PROMPT_COMMAND=, um die Daten anzuhängen. Es wäre hackisch, sollte aber den Job machen.