Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Mululu
- Beiträge: 35
- Registriert: 08.10.2013 18:17:41
Beitrag
von Mululu » 13.10.2013 21:09:54
Hallo,
ich habe mir ein kleines Script erstellt nix besonderes. Immer wenn sich ein User an dem Server anmeldet wird es ausgeführt und der Inhalt an meine E-Mail gesendet. Soweit so gut. Ich würde nur gerne noch den Port anzeigen lassen auf dem der Nutzer sich anmeldet um zu sehen mit was der User sich anmeldet (SSH, FTP, SCP). Ich hab es einfach mal mit $Port ausprobiert das Ergebnis sieht man ja
Code: Alles auswählen
#!/bin/bash
echo "Login auf $(hostname) am $(date +%d-%m-%Y) um $(date +%H:%M) auf dem Port: $PORT"
echo
echo "Benutzer: $USER"
echo
echo
echo "Verbindungen von $USER:"
echo
who
E-Mail:
Code: Alles auswählen
Login auf "Hostname" am 13-10-2013 um 21:06 auf dem Port:
Benutzer: "User"
Verbindungen von "User":
"User" pts/0 2013-10-13 19:57 (IP-Adresse)
"User" pts/1 2013-10-13 21:06 (IP-Adresse)
Ich denk mal für euch Profis ist das kein Problem.
Mit freundlichen Grüßen
-
uname
- Beiträge: 12405
- Registriert: 03.06.2008 09:33:02
Beitrag
von uname » 13.10.2013 21:42:12
Wie erkennt denn dein Programm denn überhaupt die Anmeldung?
-
Mululu
- Beiträge: 35
- Registriert: 08.10.2013 18:17:41
Beitrag
von Mululu » 13.10.2013 22:04:37
über die /etc/profile
Das senden an sich klappt ja schon. Fehlt nur noch der Port dann wäre es perfekt
-
cosmac
- Beiträge: 4576
- Registriert: 28.03.2005 22:24:30
Beitrag
von cosmac » 13.10.2013 22:24:28
hi,
bei einer ssh-Anmeldung werden die Variablen $SSH_CLIENT, $SSH_CONNECTION und $SSH_TTY initialisiert - genau wie $USER. Mit den Befehlen "env" oder "export" kannst du dir die ganze Liste anschauen, evt. ist für ftp auch etwas dabei.
Beware of programmers who carry screwdrivers.
-
Mululu
- Beiträge: 35
- Registriert: 08.10.2013 18:17:41
Beitrag
von Mululu » 13.10.2013 22:35:51
Ok vielen Dank
Da werde ich $SSH_CLIENT vorerst nehmen da zeigt es zwar mit die IP an aber der Port steh ja trotzdem mit dabei.
Falls jemand doch noch eine Idee hat um nur den Port anzuzeigen wäre ich sehr dankbar.
Trotzdem danke cosmac
-
4A4B
- Beiträge: 962
- Registriert: 09.11.2011 11:19:55
-
Kontaktdaten:
Beitrag
von 4A4B » 13.10.2013 23:14:17
Mit awk kannst du den dritten Wert herausfiltern:
-
Cae
- Beiträge: 6349
- Registriert: 17.07.2011 23:36:39
- Wohnort: 2130706433
Beitrag
von Cae » 14.10.2013 00:42:46
Und weil's keine variablen Whitespaces, sondern einfach nur Leerzeichen sind, reicht auch
cut aus:
Was ich mich allerdings wirklich frage: Warum gibt's ein separates
$SSH_CLIENT, wenn dieselben Daten schon in
$SSH_CONNECTION drin stehen?
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
-
Mululu
- Beiträge: 35
- Registriert: 08.10.2013 18:17:41
Beitrag
von Mululu » 14.10.2013 11:12:45
Danke 4A4B und Cae
Jetzt wäre mein kleines Script fertig
Was ich mich allerdings wirklich frage: Warum gibt's ein separates $SSH_CLIENT, wenn dieselben Daten schon in $SSH_CONNECTION drin stehen?
Gute Frage
Bei $SSH_CLIENT wird nur die aktuelle Sitzung angezeigt bei $SSH_CONNECTION wird die aktuelle und noch weitere bestehende Sitzungen angezeigt.
Mfg