Zum Inhalt springen

SSH Benutzer


debitux

Empfohlene Beiträge

Hi,

ich möchte was ausprobieren. Ich will ein keines C Progrämmchen schreiben welches eine Mail schickt wenn sich ein Benutzer über ssh einloggt. Es soll dann auch wieder eine Mail schreiben beim ausloggen....

Hat jemand schonmal sowas gemacht? Wie kann ich rausfinden wann sich jemand über ssh einloggt und ausloggt?

Gruß

debitux

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

bei SuSE gibt es im Homeverzeichnis jeden Benutzers eine .profile Datei. Diese wird bei Login des Benutzers ausgeführt. Allerdings auch bei Telnet Zugriff. Dort könnte man z. B. die Mailfunktion eintragen und eine E-Mail verschicken.

Fürs ausloggen gibt es bestimmt auch eine entsprechende Datei.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Problem bei Dateien, die im Home-Verzeichnis des Nutzers liegen, ist die Tatsache, dass diese von Nutzer modifiziert werden koennen (d.h. die EMail-Benachrichtigung liesse sich ausschalten).

Ich wuerde eher versuchen, mit syslog.conf (bei korrekter Konfiguration des sshd werden logins in /var/adm/messages gelogt) oder /etc/ssh/sshrc zu arbeiten. Eine andere Moeglichkeit waere, regelmaessig das lastlog auf neue logins zu pruefen oder mit den systemweiten Scriptdateien für die Bash (bzw. alle anderen Shells) zu arbeiten.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

wie wäre es denn wenn Dein Programm per Cronjob einfach /var/log/messages alle paar Minuten überprüft und dann entsprechend agiert ?

Anbei ein bisserl unausgegorener ShellCode:

"

[root@mountdoom log]# grep sshd /var/log/messages | grep opened /var/log/messages

"

Hiermit siehst Du alle Benutzer die sich anmelden...

Die Ausgabe sieht dann etwa so aus:

"

Aug 28 20:32:53 mountdoom sshd(pam_unix)[23282]: session opened for user sarge by (uid=666)

"

Und hiermit kannst Du nach sich ausloggenden Benutzer schauen:

"

[root@mountdoom log]# grep sshd /var/log/messages | grep closed

"

Das geht sicherlich eleganter als in diesem Beispiel aber ich halte "/var/log/messages" für den richtigen AnlaufPunkt.

Im übrigen kannst Du das wahrscheinlich mit nur sehr wenigen Zeilen Shell oder PerlCode erledigen falls Du keine Lust auf C haben solltest...

;-)

Aber das entscheide jeder nach seinem Gusto...

Bye

SystemError

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Original geschrieben von dr.disk

Nein, die gibt's nicht. Und die würde auch nicht funktionieren da keiner garantieren kann, daß ich mich mit logout auslogge und nicht mit SIGKILL die Shell terminiere...

Doch, die gibts schon. Die bash verwendet - sofern es sich um die login-Shell handelt - ~/.bash_logout, csh/tcsh fuehren /etc/csh.logout bzw. ~/.logout aus. Das setzt allerdings voraus, dass die Shell auch normal terminiert wird.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von nic_power

Hallo,

Problem bei Dateien, die im Home-Verzeichnis des Nutzers liegen, ist die Tatsache, dass diese von Nutzer modifiziert werden koennen (d.h. die EMail-Benachrichtigung liesse sich ausschalten).

Hi,

dies liesse sich doch aber mit einem chattr +a oder chattr +i vermeiden?

gruß gurkenpapst

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mal überlegen....

Wäre ein cron nicht zu ungenau?

Ein cron ist ja schließlich kein richtiger ActionListener. Somit wäre eine Echtzeit-Abarbeitung nicht möglich.....aber ich bin mir sicher es gibt andere Mittel. Was ich damit sagen will ist, wie willst du das so genau handlen....selbst wenn du in /var/*/messages nach sshd grepst und dann nach login|logout....

und dann noch einen tail hinzufügst, dass immer der letze login|logout dargestellt wird....aber das ist keine saubere Programmierung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

>>>Echtzeit-Abarbeitung nicht möglich.

>>> aber das ist keine saubere Programmierung

Da hast Du recht.

Aber wie ich das sehe ist eine Echtzeit-Abarbeitung auch gar nicht notwendig... Schliesslich will debitux sich ne Email schicken lassen sobald sich jemand anmeldet...

Und Emails sind auch alles andere als EchtZeit.

Mein Vorschlag wäre ein quick and dirty hack der funktionieren würde.

Unsauber ist er sicherlich aus der Sicht eines SoftwareEntwicklers.

Bye

SystemError

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

danke für eure Antworten!

Naja ich wollte das Progrämmchen unbedingt mit einem Compiler übersetzen, (also mit C) weil dann niemand nachgucken kann was das Programm macht. Ein Cronjob wäre mir auch zu auffällig.

Ein Syslog hack wäre ganz nett :-) Dann müsste ich aber die Quellen vom Syslog ändern und die übersetzen. Das wäre mir auch zu blöd...

Konfigurationen verändern gefällt mir auch nicht so doll.

Ich denke ich werd mit C die /var/log/messages auslesen und dann auch mit C ne Mail verschicken. Das ist zwar auch nicht so unauffällig, aber ich denke unauffälliger als wenn ich das als nen Cronjob eintrage ;-).

Mich interessiert nur, kann ich nicht direkt den SSH abhören? Was wäre wenn ich die SSH Quellen verändere? Wenn ich über ein PAM Modul authentifizieren würde, wäre es doch möglich es aus dem Modul rauszubekommen, oder?

Allerdings hab ich nicht gerade gute Kenntnisse mit C. :-/ Da muss ich wohl n bisschen fummeln. :)

Wie würdet ihr es machen um möglichst unauffällig zu bleiben?

Gruß

debitux

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Da ist aber wieder das Problem das es schnell zu finden ist! Das müsste ich ja in bash_login eintragen oder ähnl. Das wäre zu auffällig...

Trotzdem danke für den Beitrag...

Ich bin noch net fit mit C. hab auch nicht weiter an dem Skript gearbeitet... Kennt jemand vielleicht ein paar gute Links für die Nutzung von "C für Linux Programmierung?"

Gruß

debitux

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...