Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 29
Seite [1] 2 >
Stoney


Rock the board




Beiträge: 95
# Thema - 25.12.2012 um 20:46 Uhr
Frohe Weihnachten erstmal allerseites

Ich würde gerne ein startscript per Butten ausführen lassen (alles auf einem Debian Squeez Root)

phpinfo.php


 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
1. / 2. / ... 
 #! /bin/bash

NAME=public
DESC="public" 
PARAMS="-game cstrike +map de_dust2 +maxplayers 40 exec server.cfg"  
DIR=/home/USER/GS/css/
SCRIPT=srcds_run 

DAEMON
=$DIR/$SCRIPT 

case "$1" in 
start

echo 
"Starte $DESC$NAME
cd $DIR 
screen 
---S $NAME $DAEMON $PARAMS 
;; 

stop
if [[ `
screen -ls |grep $NAME` ]] 
then 
echo -"Stoppe $DESC$NAME
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'
echo 
" ... Server gestoppt." 
else 
echo 
"Konnte keinen laufenden -- $DESC -- finden" 
fi 
;; 

restart
if [[ `
screen -ls |grep $NAME` ]] 
then 
echo -"Stoppe $DESC$NAME
kill `screen -ls |grep $NAME |awk -F . '{print $1}'|awk '{print $1}'
echo 
" ... Server gestoppt ... Restart wird ausgeführt" 
else 
echo 
"Konnte keinen laufenden -- $DESC -- finden ... Kommando Start wird 
ausgeführt" 
fi 

sleep 2 
echo -"Starte $DESC$NAME
cd $DIR 
screen 
---S $NAME $DAEMON $PARAMS 
echo " ... Server gestartet." 
;; 

*) 
echo 
"Usage: $0 Parameter eingeben {start|stop|restart}" 
exit 
;; 
esac 

exit 0



Gibt es eine Möglichkeit dies zu realisieren(ich hatte mal eine Art "Webinterface dazu, sehr Simpel gehalten, jedoch hat es nicht funktioniert), indem man

eine SSH2 Verbindung aufbauen lässt und per Username + PW + PORT, das startscript + Parameter, ausführen kann ? (Im User /home liegt natülich das bashscript welches + Parameter ausgeführt werden soll, Besitzer und Gruppe des GS und startscript sind Identisch)

Oder falls jmd eine bessere/einfachere/sichere Möglichkeit weis....


Falls ja, wie genau kann man dann ab einer gewissen Zugriffsberechtigung den "Button" z.B. im Loginfenster wo auch "Verwaltung" und "System" angezeit werden "sichtbar" machen?
Ich denke dies wär, falls möglich, die einfachste Möglichkeit dies per Klick umzusetzen da somit dar Verwaltungsaufwand relativ gering gehalten wird. vll wäre es Sinnvoll von jeden Benutzer, welcher die nötige Zugriffsberechtigung hat, der den Button klickt, vorher noch nach einem extra PW zu fragen (nicht gleich LoginPW) zur Sicherheit.


Ich hoffe ich habe nichts vergessen und verlange ggf. nicht zu viel. Ich hab mich jetzt seit Tagen mit diesem Thema beschäftigt... leider ohne großen erfolg.

Danke erstmal (;

PS: falls irgendetwas unklar sein sollte bitte seid nicht zu hart mit mir.



Inaktiv
aschti


Poststar





Beiträge: 778
# Antwort: 1 - 26.12.2012 um 13:10 Uhr
Hi,
so mal kurz in den raum geworfen es gibt folgende pakete die du aufjedenfall brauchst unter linux debian z.b. libssh2-php php5-ssh2 damit du überhaupt php via ssh verwenden kannst.

p.s. wenn die pakete installiert sind musst in der php.ini diese noch aktivieren.


über php kannst über ssh verbindungen eröffnen über z.b. einen linux user und kannst belibige funktionen ausführen (fast alles).

benötigen zum verbindungs herstellen wären es diese guten http://php.net/manual/en/ref.ssh2.php

so allg. darauf achten das der linux user auch ssh zugriff hat also nicht üner ein prog etc geblockt ist,
ist mir mal passiert sonst kannst ausführen was de magst und nix tut sich ^^


------------------
p.s. die oben zufindenen Rechtschreibfehler sind eine gratis beigabe ^^

www.DemolitionGroup.de
It's Time to Fight - Play Hard & Fair !


Zuletzt editiert von aschti am 26.12.2012 um 13:13 Uhr (1x Editiert)
Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 2 - 26.12.2012 um 18:21 Uhr
Joa, Aschti sagte eig schon alles was wichtig ist.

Wichtiger ist jedoch, dass die Sicherheit gegeben ist. Immer dran denken, wenn sich via SSH jmd. anders über das Webinterface einhängt und Befehle ausführt, die er nicht ausführen soll. Somit wäre evtl. die Passwort Eingabe via Formularfeld sinnvoller, so das nicht, wenn der Svr gehackt wird, jeder via SSH dran kann.

Andere Variante wäre eine WebAPI zu programmieren, dafür müsstest du auf dem GameServer nen Service laufen lassen, welcher solche Interaktionen ausführt. Vorteil: Er führt nur das aus, worauf er auch konfiguriert ist.


Inaktiv
|
Stoney
Thread-Ersteller


Rock the board




Beiträge: 95
# Antwort: 3 - 26.12.2012 um 20:37 Uhr
Danke für eure schnellen Antworten.

PHP+SSH in google eingeben -> wieso bin ich darauf nicht gleich gekommen.... *grml*

naja


Hab hier noch eine super Anleitung gefunden bezüglich PHP5 SSH2 Connect

Mit dieser hat das Installieren der erforderlichen Pakete sowie der "configuration" im Handumdrehen geklappt

Es geht nicht um ein Webinterface, sondern lediglich darum ein Startscript auszuführen, welches im USERHOME liegt in dem er eingesperrt ist. was mir bis jetzt soweit auch gelungen ist welches die Ausgabe des Scripts wiedergibt.

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
1. / 2. / ... 
<?php
$connection 
ssh2_connect('IP'PORT);

    if (
ssh2_auth_password($connection'BENUTZER''PASSWORD')) {
        echo 
"Authentication Successful!<br />";
    } else {
        die(
'Authentication Failed...');
    }
        
    
$stream ssh2_exec($connection'cd /PFAD/WO/SS/LIEGT && ./STARTSCRIPT restart');

       
sleep(5);

           
stream_set_blocking($streamtrue);
                while(
$line fgets($stream)) {
                        
flush();
                        echo 
$line."<br />";
                }


                
stream_set_blocking($streamtrue);
               echo 
stream_get_contents($stream);
?>


Soweit so gut.

Nur was wäre jetzt die sicherere Variante?

Per Kennwortschutz DIESER Webseite ?

Statische Seite wäre ja auch eine Möglichkeit oder ?

Oder doch die Möglichkeit diese Datei über einen "Button" in die Userloginbox per Zugriffsberechtigung seitens CS zu ermöglichen? (access.php,.... )


Zuletzt editiert von xloldies.de am 26.12.2012 um 21:44 Uhr (2x Editiert)
Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 4 - 26.12.2012 um 23:07 Uhr
kennwortschutz! würde dann abgewandelt ungefähr so aussehen

 
1.
2.
3.
4.
5.
6.
7.
8.
1. / 2. / ... 
 $password = !empty($_POST['ssh_password']) ? htmlentities($_POST['ssh_password']) : false;

  if (
ssh2_auth_password($connection'BENUTZER'$password)) {
        echo 
"Authentication Successful!<br />";
    } else {
        die(
'Authentication Failed...');
    }
        


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
Stoney
Thread-Ersteller


Rock the board




Beiträge: 95
# Antwort: 5 - 27.12.2012 um 01:46 Uhr
Jam2 danke auch dir für die rasche Antwort, nur leider weiß ich nicht genau wie du das meinst....

Ich habe es jetzt mal wie hier Kennwortschutz DIESER Webseite beschrieben gemacht und es funktioniert wunderbar, ohne mein geschriebenes Script zu ändern.

Wie sieht es jetzt eigentlich mit den Statischen Seiten aus, diese werden ja, denk ich mal in der DB gespeichert, oder ?
Zugriffsbeschränkung auf die Statische Seite setzen und diese dann gleich als PHPScript aufrufen lassen wär ja ansich auch eine möglichkeit die "relativ" sicher ist, oder wie schätzt ihr die Sicherheit dieser Methode ein ?



Inaktiv
|
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Antwort: 6 - 27.12.2012 um 01:54 Uhr
Dann bringt dir das nichts. Wenn jemand Zugriff auf die Datei/Datenbank bekommt, weiß er das ssh Passwort. Wenn dann meine Lösung in der man das SSH PW eingeben muss.


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 7 - 27.12.2012 um 03:25 Uhr
Richtig, das war das was ich meinte.


Inaktiv
|
Stoney
Thread-Ersteller


Rock the board




Beiträge: 95
# Antwort: 8 - 31.12.2012 um 16:15 Uhr
Soweit hab ichs hinbekommen, danke.

Ist es möglich einen Div kontainer zu erstellen in der index.htm welcher nur Sichtbar und ausführbar ist wenn man die nötige Berechtigung dazu hat, also z.B. ab Zugriff Clansphere 4.

Ich weiß ist ansich im falschen Forum, aber gehört in dem Fall genau zu diesem Thema.

Danke

Einen guten Rutsch ins neue Jahr wünsch ich schonmal


Inaktiv
|
ev0lution


Geekboy





Beiträge: 1103
# Antwort: 9 - 01.01.2013 um 11:26 Uhr
du kannst nen div container reinmachen und darin ein mod laden in dem

 
1.
2.
3.
4.
5.
6.
7.
1. / 2. / ... 
 if($account['access_modulname'] >= 1){
    
$data['if']['access'] = true;
    
$data['if']['notregistered'] = false;
}else{
    
$data['if']['access'] = false;
    
$data['if']['notregistered'] = true;
}


in die vorletzte zeile, also vor dem laden des templates, kommt.
in die .tpl dann in die erste zeile
 
1.
1. / 2. / ... 
  {if:access

und in die letzte
 
1.
1. / 2. / ... 
 {stop:access


------------------


Inaktiv
|
Stoney
Thread-Ersteller


Rock the board




Beiträge: 95
# Antwort: 10 - 01.01.2013 um 19:43 Uhr
Danke, aber da es kein Modul ist, sondern eigenlich nur ein

 
1.
1. / 2. / ... 
 <div class="button_left"><class="button" href="PFAD">Serverneustart</a>


ist, wird deine Variante nicht umsetztbar sein, oder ?


Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 11 - 01.01.2013 um 19:46 Uhr
Link in den container reinpacken wie er es dir gezeigt hatte und dann die entsprechende Ausführende Datei auch noch absichern.


Zuletzt editiert von Schalla ClanSphere Team am 01.01.2013 um 19:47 Uhr (1x Editiert)
Inaktiv
|
Stoney
Thread-Ersteller


Rock the board




Beiträge: 95
# Antwort: 12 - 01.01.2013 um 20:46 Uhr
Es tut mir sehr leid.

Doch leider komm ich garnicht mit.

Wär jmd so freundlich und würde es mir ein wenig Ausführlicher beschreiben können ?

Entweder bin ich grad zu dumm oder es sind die Nachwehen von gestern ^^

THX


Zuletzt editiert von xloldies.de am 01.01.2013 um 20:48 Uhr (1x Editiert)
Inaktiv
|
Fr33z3m4n ClanSphere Team


Medal of Honor




Herkunft: Hamm
Beiträge: 11094
# Antwort: 13 - 02.01.2013 um 09:24 Uhr
Für sowas muss es kein eigenes Modul sein.

Z.b.:
im Ordner /mods/users eine neue php Datei erstellen.
"server.php"
in dieser die ACCESS abfrage eintragen, und je nach Berechtigung ein subtemplate oder gar nur einen HTML Button ausgeben lassen.
in der access.php vom /mods/users/ den Zugriff von der server.php auf 5 z.b. setzen, damit nur Webmaster den Button sehen können, bzw. die server.php aufrufen.

In deiner index.html dann einfach den Platzhalter platzieren:
{users:server}
Schon hast du an der Stelle, wo der Platzhalter steht, je nach Zugriffslevel den Button oder halt nicht.


------------------
mfg
Patrick "Fr33z3m4n" Jaskulski

Antoine de Saint-Exupéry: Wenn Du ein Schiff bauen willst, so trommle nicht Männer zusammen, um Holz zu beschaffen, Aufgaben zu verteilen, sondern lehre die Männer die Sehnsucht nach dem endlosen weiten Meer.

Inaktiv
|
Stoney
Thread-Ersteller


Rock the board




Beiträge: 95
# Antwort: 14 - 02.01.2013 um 11:41 Uhr
Vielen DAnke Fr33z3m4n

So in etwa hab ich mir das vorgestellt, bzw im Nachhinein an anderen Stellen des Forums in etwa gelesen.

Doch leider will es immernochnicht so ganz.

Hier mal die serverneustart.php

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
1. / 2. / ... 
<?php
// ClanSphere 2010 - www.clansphere.net
// $Id$

if($account['http://xloldies.de/ZIEL/ZUM/ORDNER'] >= 1){
    
$data['if']['access'] = true;
    
$data['if']['notregistered'] = false;
}else{
    
$data['if']['access'] = false;
    
$data['if']['notregistered'] = true;
}


Auszug aus der index.html

 
1.
1. / 2. / ... 
 <div class="button_left"><class="button" href="{users:serverneustart}">Serverneustart</a></div


access.php erweitert

 
1.
1. / 2. / ... 
 $axx_file['serverneustart']       = 5;


Der verweis geht aber auf [home] und nicht auf /serverneustart

Was mir gerade noch aufgefallen ist, wenn ich
 
1.
1. / 2. / ... 
 <div class="button_left"><class="button" href="{url:users_serverneustart}">Serverneustart</a></div

nehme, verweißt er auf http://xloldies.de/index/users/serverneustart

Doch gibt nicht den in der serverneustart.php angegeben Link aus.


Achja und müsste dann in der Accessabfrage nicht auch 5 anstatt 1 stehen?? Denn den Butten sieht man immer.

Danke für die sehr schnellen Antworten


Zuletzt editiert von xloldies.de am 02.01.2013 um 11:52 Uhr (2x Editiert)
Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 15 - 02.01.2013 um 13:07 Uhr
f($account['http://xloldies.de/ZIEL/ZUM/ORDNER'] >= 1){

Da muss:

1. 5 rein als Abfrage
2. access_serverneustart anstatt irgendeine URL.



Inaktiv
|
ev0lution


Geekboy





Beiträge: 1103
# Antwort: 16 - 02.01.2013 um 13:40 Uhr
1 war ja auch nur als beispiel. je nachdem welche gruppe den eben sehen soll


------------------


Inaktiv
|
Stoney
Thread-Ersteller


Rock the board




Beiträge: 95
# Antwort: 17 - 02.01.2013 um 16:41 Uhr
Ich finde es wirklich Klasse das Ihr euch bei meinem Vorhaben / Probelm beteiligt

Leider schaff ich es nicht mir das ganze selbst zu erlesen.

Wäre einer wirklich so nett und würde mir genau schreiben wie ich es Umsetzten kann.

Muss jetzt noch eine .tpl datei mit mit den if start und stop Angelegt werden ?

Wie gibt man den Verweisenden Link an?


Ich versteh leider die Zusammenhänge nicht ganz die ihr mir gebt.


Ich hoffe mit der nächsten Antwort klappt es wie es soll und der Thread kann geschlossen werden (;

// Edith fragt gerade wie genau dann der Button in der index.html angelegt werden muss \\


Zuletzt editiert von xloldies.de am 02.01.2013 um 16:43 Uhr (1x Editiert)
Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 18 - 02.01.2013 um 18:39 Uhr
Du könntest auch einfach probieren dich mit der Materie zu beschäftigen.

1. Du sagst nicht WO du den Link plaziert haben möchtest

2. Wohin soll denn der Link gehen? Zu einer Steuerungplattform oder whin?

3. Wielang hast du probiert dich mit dem Rechtesystem von ClanSphere auseinanderzusetzen? Es gibt extreme viele Dateien, welche das gleiche Vorhaben was du hast nur mit einem anderen Zweck umsetzen.


Inaktiv
|
Stoney
Thread-Ersteller


Rock the board




Beiträge: 95
# Antwort: 19 - 02.01.2013 um 19:48 Uhr
02.01.2013 um 11:41 Uhr - xloldies.de:
Vielen DAnke Fr33z3m4n


Der verweis geht aber auf [home] und nicht auf /serverneustart

Auszug aus der index.html

 
1.
1. / 2. / ... 
 <div class="button_left"><class="button" href="{users:serverneustart}">Serverneustart</a></div




1. Wie schon geschrieben soll der Link in die index.htm (sry das "l" ist mit reingerutscht)von dem Template mit einfließen. - Wobei die Schaltfläche auch in der admin.htm im User Login (div.innerframe_ ) mit rein könnte.

2. Der Verweiß soll auf einen Ordner gehen, wo wieder eine index.html (welche ja automatisch geladen wird, sobald man auf den Ordner zugreift) ausgeführt werden soll.

3. Ich habe mit Sicherheit 4-5 Stunden das Wiki gequält, sowie auch das Forum hier. Mit diversen ansätzen, welche ich alle versucht hab umzusetzten, jedoch nie genau das erfüllen sollten, wie es in meinem Fall funktionieren sollte.
Außerdem war meine Aussage mit den zusammenhängen darauf bezogen das ev0lution es per Modul gelöst hätte und mit den IF Abfragen in der .tpl - und Fr33z3m4n, zumindest hab ich es so verstanden, ohne diese IF Abfrage per .tpl zu lösen, lediglich wissen wollte ob ich beide Posts kombinieren muss oder ob es wie Fr33z3m4n geschrieben hat ohne die Abfragen per .tpl geht.

Ich im Wiki keine Möglichkeit gefunden wo man die das ganze als Button in verbindung mit den Platzhalter mit Verweiß auf einen, ich sag jetzt mal "externen" Ordner, welche nicht zum CS System gehört realisieren kann.


Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 20 - 02.01.2013 um 20:21 Uhr
Aha. Gut, jetzt hab ich es verstanden.

Dann fehlen noch 2 Infos:

1. Welche Nutzergruppen sollen den Link sehen?

2. Wie schützt du das externe Script vor Zugriff? Via PW?


Inaktiv
|

Dieses Thema wurde von Deaktiviert PM geschlossen.

Antworten: 29
Seite [1] 2 >