bash-Script als Root beim Einloggen als User

Israel

Registered User
Hallo,

ich möchte, sobald sich jemand per SSH auf meinem Server einloggt, als Root ein Script ablaufen lassen, in dem die IP Adresse, von der sich die Person eingeloggt hat verarbeitet werden soll, und außerdem noch andere Befehle ausgeführt werden. Weiß jemand wie ich die folgenden Schritte umsetzen kann?

1. sobald sich ein User per SSH einloggt, als Root ein Script starten
-- Einloggen erfolgt per pubkey-Authetifizierung, falls das wichtig ist

2. In diesem Script auf die IP-Adresse zugreifen, von der sich der User eingeloggt hat


Ist das mit der bash möglich? Weiß jemand wie?

Danke schonmal für Eure Antworten, ich hoffe es kann mir jemand helfen!

Gruß,
Israel
 
Der SSHD führt bei jedem Login /etc/ssh/sshrc aus (wenn nicht vorhanden einfach anlegen). Dort kannst du dann bequem deine Commands unterbringen! So verhält es sich zumindest auf meinem Debian.
 
Danke!

Und wie kann ich aus diesem Script am Besten auf die IP des Users zugreifen? Muß ich die aus einer Log-datei lesen lassen, oder geht das auch einfacher?

EDIT: Außerdem läuft das Script bei mir nicht mit Root-Rechten ab, wie bekommt man die in einem Script?
 
Last edited by a moderator:
Was meinst du mit "zugreifen" ?

Realisieren kannst du deine Problemstellung entweder durch Logs auslesen (z.B. lastlog) oder was einfaches mit Hilfe von lsof/netstat, grep, awk, cut basteln.

/etc/ssh/sshrc ist normalerweise kein Skript, sondern nur eine Datei die deine weiteren Skripte aufruft. Da SSHD als root läuft sollten eigentlich auch deine Skripte als root ausgeführt werden. Falls das nicht der Fall sein sollte schau dir sudo an!
 
Und wie kann ich aus diesem Script am Besten auf die IP des Users zugreifen? Muß ich die aus einer Log-datei lesen lassen, oder geht das auch einfacher?

Du kannst die IP-Adresse z.B. so verarbeiten:
Code:
:~# host `grep -i accepted /var/log/auth.log |cut -d: -f7|cut -d" " -f1`

Grüße tom
 
Back
Top