Benötige Hilfe beim Login-Script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Mululu
Beiträge: 35
Registriert: 08.10.2013 18:17:41

Benötige Hilfe beim Login-Script

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 :D

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: 12403
Registriert: 03.06.2008 09:33:02

Re: Benötige Hilfe beim Login-Script

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

Re: Benötige Hilfe beim Login-Script

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

Re: Benötige Hilfe beim Login-Script

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

Re: Benötige Hilfe beim Login-Script

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 :)

Benutzeravatar
4A4B
Beiträge: 962
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Benötige Hilfe beim Login-Script

Beitrag von 4A4B » 13.10.2013 23:14:17

Mit awk kannst du den dritten Wert herausfiltern:

Code: Alles auswählen

echo $SSH_CLIENT | awk '{print $3}'

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Benötige Hilfe beim Login-Script

Beitrag von Cae » 14.10.2013 00:42:46

Und weil's keine variablen Whitespaces, sondern einfach nur Leerzeichen sind, reicht auch cut aus:

Code: Alles auswählen

$ echo $SSH_CLIENT | cut -d' ' -f3
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

Re: Benötige Hilfe beim Login-Script

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

Antworten