Nach SSH Login direkt ein Script öffnen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
manuxD
Beiträge: 12
Registriert: 17.02.2011 21:52:45

Nach SSH Login direkt ein Script öffnen

Beitrag von manuxD » 15.06.2011 20:14:55

Hallo,

Wie kann ich es anstellen, dass direkt nach dem Login des Users das Script xy.sh ausgeführt wird ?
Also Der User macht ssh Login und sieht dann direkt das GUI des Skriptes XY vor sich ?

Und Sobald sich das Skript beendet das auch wieder ausgeloggt wird ?

Den Auslogg befehl kann ich aber auch in's Skript integrieren... sollte ja gehen..

Zusammengefasst:
Loggt sich der USer1 mit SSH ein, soll er direkt das GUI des Skriptes xy sehen.
beendet er das skript soll der logout befehl ausgeführt werden.


Weis da jemand was ?

Wäre für jede Hilfe Dankbar!!

MfG

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von syssi » 15.06.2011 20:19:13

Du kannst deinem Benutzer als Loginshell das Skript setzen. In diesem Fall bekommt er nichts anderes zu sehen als den Skript-Dialog und fliegt nach der Beendigung des Skripts wieder raus. Wenn du deinem Benutzer eine Shell goennst, wie beispielsweise der Bash, dann solltest du dir mal die Dateien ~/.bash_profile oder ~/.bashrc ansehen. Diese werden beim starten der Bash abgearbeitet. Folglich auch bei einem SSH-Login.

Gruss syssi

manuxD
Beiträge: 12
Registriert: 17.02.2011 21:52:45

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von manuxD » 15.06.2011 20:37:08

Hallo,

Script ist nach /bin kopiert.

Mache ich jetzt das Hier:

adduser --shell xy.sh benutzername

kommt das raus:

Code: Alles auswählen

server:~# adduser --shell xy.sh benutzername
Lege Benutzer »benutzername« an ...
Lege neue Gruppe »benutzername« (1007) an ...
Lege neuen Benutzer »benutzername« (1007) mit Gruppe »benutzername« an ...
useradd: Ungültige Shell »xy.sh.sh«
adduser: »/usr/sbin/useradd -d /home/benutzername -g benutzername -s xy.sh -u 1007 benutzername« gab den Fehlercode 3 zurück. Programmende.
server:~#
Was ist falsch ?

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von syssi » 15.06.2011 20:40:56

Ich habe es nicht getestet aber du musst beim adduser den vollen Pfad angeben.

manuxD
Beiträge: 12
Registriert: 17.02.2011 21:52:45

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von manuxD » 15.06.2011 20:46:35

Dann bekomme ich das Hier.

Code: Alles auswählen

server:~# adduser --shell /bin/xy.sh benutzername
Lege Benutzer »benutzername« an ...
Lege neue Gruppe »benutzername« (1007) an ...
Lege neuen Benutzer »benutzername« (1007) mit Gruppe »benutzername« an ...
Erstelle Home-Verzeichnis »/home/benutzername« ...
Kopiere Dateien aus »/etc/skel« ...
Geben Sie ein neues UNIX-Passwort ein:
Geben Sie das neue UNIX-Passwort erneut ein:
passwd: Passwort erfolgreich geändert
Ã
 ndere Benutzerinformationen für benutzername
Geben Sie einen neuen Wert an oder drücken Sie ENTER für den Standardwert
        Vollständiger Name []:
        Raumnummer []:
        Telefon geschäftlich []:
        Telefon privat []:
        Sonstiges []:
Is the information correct? [Y/n] y
server:~# 
Soweit so gut,

Login per SSH --> SSH Fenster schliesst sich sofort.
Am Skipt selber liegts nicht... das läuft einwandfrei..

Noch ne Idee ?

THX !!

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von syssi » 15.06.2011 20:50:32

Fenster? Mach mal eine Console auf und verbinde dich per "ssh user@host". Was siehst du?

manuxD
Beiträge: 12
Registriert: 17.02.2011 21:52:45

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von manuxD » 15.06.2011 21:04:02

Code: Alles auswählen

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Jun 15 20:43:57 2011 from XXX-XX.XXX-178.cust.bluewin.ch
/bin/xy.sh: Permission denied
Connection to localhost closed.
server:/bin#

Rechte sind aber auf 777 ?


LG

manuxD
Beiträge: 12
Registriert: 17.02.2011 21:52:45

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von manuxD » 15.06.2011 21:14:31

Server Regestartet.. jetzt gehts..

aber jetzt folgendes:

Code: Alles auswählen

Please enter option [1 - 5]: 1
Please Enter Username: test
/bin/xy.sh: line 25: useradd: command not found
Press [enter] key to continue. . .
Jetzt kennt dieses Script diese Befehle nicht.
Wie kann ich diesem "Shellscript" diese beibringen ?

Oder gibts ne elegantere Lösung ?

LG

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von syssi » 15.06.2011 21:23:36

Im Kopf deines Skripts etwas in Richtung:

Code: Alles auswählen

PATH="/usr/local/bin:/usr/bin:/bin"

manuxD
Beiträge: 12
Registriert: 17.02.2011 21:52:45

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von manuxD » 15.06.2011 21:57:03

gleicher Fehler..

Ändert nichts..

Also wie kann ich befehle in einer Shell aus einer anderen Shell verweden ?


LG

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Nach SSH Login direkt ein Script öffnen

Beitrag von syssi » 15.06.2011 22:06:56

Moeglicherweise hast du das Problem noch nicht verstanden. Deine Shell hat einen Suchpfad (PATH). In deinem Skript wurde der Suchpfad nicht gesetzt, deshalb musst du ihn entweder selbst hinzufuegen oder alle Befehle, die du nutzt mit kompletten Pfad angeben. Anstatt "adduser" schreibst du also "/usr/sbin/adduser". Dort liegt auch der Fehler.... dein Pfad im Kopf des Skripts muss also lauten:

Code: Alles auswählen

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Antworten