Hallo,
wir haben mehrere Systeme, auf denen verteilt Administratoren aktiv sind. Wir würden gerne eine Möglichkeit bieten, dass diese Administratoren die durchgeführen Tätigkeiten in einem Journal dokumentieren können. Das Tool sollte Kommandozeilenbasiert sein und eine verteilte Architektur währe ideal, jedoch nicht zwingend notwendig. Grundprinzip sollte wie folgt sein:
- Admin ändert Konfigdatei - Admin dokumentiert änderungen kurz durch einen einfachen Befehl (adminlog "Habe /etc/exim.conf angepasst : neue ACL für entferne Nutzer un RBL") - Im Log wird der Host von dem Admin aktiv war, der Nutzername und das Datum geloggt - Anderer Admin loggt sich ein und erhält als MOTD alle Änderungen, die seit der letzten Anmeldung angelaufen sind kurz angezeigt. - Admin kann ausführlich alle Meldungen browsen
Das ganze natürlich in der Kommandzeile.
Kennt jemand ein nettes Tool mit dem mann das machen kann ? (sicherlich, selberbauen geht auch, aber wer will schon das Rad doppelt erfinden :)
Gruesse, Robert Heinzmann
Am Mittwoch, 17. August 2005 23:23 schrieb Robert Heinzmann:
Kennt jemand ein nettes Tool mit dem mann das machen kann ? (sicherlich, selberbauen geht auch, aber wer will schon das Rad doppelt erfinden :)
Nennt sich Versionsverwaltung, und gibt es für alle Größen und Geschmacksrichtungen. Wenn die Rechner alle im selben Netz sind, würde ich einfach zentral einen solchen Server aufsetzen, z.B. Subversion oder CVS. Diese Systeme sind nicht allzu exotisch, man findet also leicht Informationen darüber. Speziell für Konfigurationen gibt es auch andere, wie Vesta, die ich aber noch nicht im Einsatz gesehen habe.
Zu den Anforderungen: - das Mitloggen des Hosts könnte man durch ein Skript lösen, welches die Ausgabe von "hostname" in den Editor schreibt, der bei jeder Änderung vom SVN/CVS-Client aufgerufen wird. Man kann sicherlich auch über SSH-Optionen serverseitig Variablen setzen, die in nach jeder Änderung mit ausgewertet werden (=> SSH_CLIENT). - Anzeige als MOTD: Naja, am einfachsten wäre doch "mail" :-) Man bekommt einfach alle Änderungsmails zugesendet (über sogenannte commit-hooks) und der Mailclient zeigt diese als Zusammenfassung an, man kann sich jede Mail aber auch im Detail durchlesen. Standardsoftware auf der Kommandozeile, nix neues wird benötigt.
Wenn die Architektur wirklich verteilt sein soll, dann kann man SVK auf SVN/CVS aufsetzen und hat somit eine zusätzliche Verteilungsstufe.
Josef
P.S. Während ich diese Mail schrieb, hat sich gcc4 an KHTML's cssselector.cpp verschluckt, der Speicher ist vollgelaufen und der Kernel hat wie wild Prozesse gekillt, wie beispielsweise meinen Windowmanager. Aber der Mailclient blieb offen. Das nennt man wohl Zweckoptimismus früh am Morgen ;)
Robert Heinzmann Robert.Heinzmann@gmx.net (Mi 17 Aug 2005 23:23:07 CEST):
Hallo,
wir haben mehrere Systeme, auf denen verteilt Administratoren aktiv sind. Wir würden gerne eine Möglichkeit bieten, dass diese Administratoren die durchgeführen Tätigkeiten in einem Journal dokumentieren können. Das Tool sollte Kommandozeilenbasiert sein und eine verteilte Architektur währe ideal, jedoch nicht zwingend notwendig. Grundprinzip sollte wie folgt sein:
https://svn.schlittermann.de/pub/logbuch
- Admin ändert Konfigdatei
- Admin dokumentiert änderungen kurz durch einen einfachen Befehl
(adminlog "Habe /etc/exim.conf angepasst : neue ACL für entferne Nutzer un RBL")
# logbuch
Das startet $EDITOR und läßt einen eintragen... dann geht's per Mail an eine konfigurierbare Adresse, in ~/LOG und auch möglicherweise in eine Datenbank.
- Im Log wird der Host von dem Admin aktiv war, der Nutzername und das
Datum geloggt
Nutzername? Welcher. Admin war als root angemeldet... Ich löse das über eine selbst erfundene REMOTE_USER-Variable in der SSH-Umgebung. Ist natürlich fakebar (welch Wort :)....
- Anderer Admin loggt sich ein und erhält als MOTD alle Änderungen, die
seit der letzten Anmeldung angelaufen sind kurz angezeigt.
Na ja, das ist nicht implementiert ... ist auch nicht sinnvoll. Wenn ich mich selbst nach der letzten Änderung anmelde, soll ich's dann sehen, oder nicht? Oder erst, wenn mehr als ein ½ Jahr vergangen ist, weil ich's dann vielleicht vergessen habe? ;-)
- Admin kann ausführlich alle Meldungen browsen
less ~/LOG
Heiko
Hallo,
Das werde ich mir doch gleich mal anschaun. Danke.
Nutzername? Welcher. Admin war als root angemeldet... Ich löse das über eine selbst erfundene REMOTE_USER-Variable in der SSH-Umgebung. Ist natürlich fakebar (welch Wort :)....
Gehen wir mal von "netten" Administratoren aus, also keine die irgendentwas unbemerkt verändern vollen. Für diesen Fall gibt es ja IDS oder ähnliches. Normalerweise meldet sich ein Administrator nicht als Root an, sondern loggt sich als user ein und macht dann su / sudo. Hier währe das Loggen des Usernames hilfreich. Stören würde es auch nicht. Für Adminisrationsumgebungen wo sich alle als "root" anmelden, wird halt immer root geloggt,aber das ist ja kein Problem. .
- Anderer Admin loggt sich ein und erhält als MOTD alle Änderungen, die
seit der letzten Anmeldung angelaufen sind kurz angezeigt.
Na ja, das ist nicht implementiert ... ist auch nicht sinnvoll. Wenn ich mich selbst nach der letzten Änderung anmelde, soll ich's dann sehen, oder nicht? Oder erst, wenn mehr als ein ½ Jahr vergangen ist, weil ich's dann vielleicht vergessen habe? ;-)
Hier sollten nur die Änderungen seit dem letzten Login erscheinen. Diese werden dann entweder automatisch committed oder manuell (commit_changes). Dieser Parameter (autocommitonlogin?) sollte konfigurierbar sein. Ein Konfigurierbarer Invervall ist sicherlich auch nicht schlecht (autocommitonlogin=3m für 3 Monate ?).
Robert Heinzmann
lug-dd@mailman.schlittermann.de