AdminTool und DSM >= 5

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
6
Punkte
84
Ich hatte schon eine Analyse durchgeführt und einen kleinen Teil in der adm.php deaktiviert, danach lief es wieder. Wofür der Teil benutzt wird und ob es noch andere Stellen gibt, kann ich zur Zeit nicht sagen, da keine Zeit. Es ist irgendetwas mit dem popen im neuen php 5.5 auf unserer DS, das nicht so funktioniert wie vorher.
itari ist leider nicht mehr sehr aktiv hier im Forum und ob er es dann anpassen würde, ist noch eine andere Frage.

Hier also die Anpassungen:


  • /var/packages/adm/target/adm.php mit geeignetem Editor öffnen
  • Zeile 70 - 76 auskommentieren mit //, dass der Block danach so aussieht
    PHP:
    else if (isset($_REQUEST['raw']) && $_REQUEST['raw'] == '6') {
       if (sizeof($cmd) > 0) {
          $descriptorspec = array(0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w"));
          unset($ret); unset($pipes);
          preg_match('/(^.*)[>] (.*)$/U', $cmd, $token);
          if (preg_match('/^ll/', $token[2])) {$token[2] = preg_replace('/^ll/','ls -l', $token[2]);}
    //      $process = proc_open('/opt/bin/bash', $descriptorspec, &$pipes);
    //      fwrite($pipes[0], 'PATH=/opt/bin:/opt/sbin:$PATH;cd '.$token[1].';'.$token[2]); fclose($pipes[0]);
    //      $ret_stdout = trim(stream_get_contents($pipes[1])); fclose($pipes[1]);
    //      $ret_stderr = trim(stream_get_contents($pipes[2])); fclose($pipes[2]);
    //      if (strlen($ret_stderr)>0) {print '[2]:'.chr(10).$ret_stderr.chr(10).'[1]:'.chr(10);}
    //      print $ret_stdout;
    //      proc_close($process);
          }
       else print 'error';
    }
  • für authenticate und SynoToken Support, Zeile 2 bis 13 löschen und das Folgende einfügen
    PHP:
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
        $clientIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } elseif (isset($_SERVER['HTTP_X_REAL_IP'])){
        $clientIP = $_SERVER['HTTP_X_REAL_IP'];
    } else {
        $clientIP = $_SERVER['REMOTE_ADDR'];
    }
    putenv('HTTP_COOKIE='.$_SERVER['HTTP_COOKIE']);
    putenv('REMOTE_ADDR='.$clientIP);
    $login = shell_exec("/usr/syno/synoman/webman/login.cgi");
    preg_match('/\"SynoToken\"\s*?:\s*?\"(.*)\"/',$login,$synotoken);
    $synotoken = trim($synotoken[1]);
    putenv('QUERY_STRING=SynoToken='.$synotoken); 
    $user = exec("/usr/syno/synoman/webman/modules/authenticate.cgi");
    $ip = substr($clientIP,0,3);
    $logfile = '/var/log/adm.log';
    if (($ip == '203' || $ip == '198' || $ip == '192' ||  $ip == '172' || $ip == '10.') && $user === 'admin'){
     if (is_file($logfile)) exec('/opt/bin/date "+%m-%d %H:%M:%S  '.$clientIP.' '.$user.' '.trim($_REQUEST['cmd']).'" >>  '.$logfile);
    } else {
     if (is_file($logfile)) exec('/opt/bin/date "+%m-%d %H:%M:%S '.$clientIP.' '.$user.' BLOCKED" >> '.$logfile);
     print 'blocked'; exit;
    }
 
Zuletzt bearbeitet:

Tommes

Benutzer
Mitglied seit
26. Okt 2009
Beiträge
8.178
Punkte für Reaktionen
300
Punkte
249
Ich muß jetzt erstmal ein DICKES DANKESCHÖN an dich aussprechen QTip!

Das Admin Tool läuft wieder *daumenhoch*

Nur noch so als keiner Hinweis meinerseits. Du schreibst...

...für authenticate und SynoToken Support, Zeile 2 bis 12 löschen und das Folgende einfügen...

... aber eigentlich müßte man bis Zeile 13 alles löschen. Jedenfalls ist das bei mir so gewesen. In Zeile 13 steht nämlich noch eine geschweifte Klammer " } " mit der die "alte" if-Anweisung beendet wird. Nachdem ich die zweite Klammer entfernt hatte, lief das Admin Tool!

Ach ja. Man findet die Datei übrigens unter /var/packages/adm/target/

Und das schönste ist, ich habe das Script ganz ohne Admin Tool abändern können. Aber ein bisschen geschummelt hab ich schon. Denn glücklicher Weise gibt es für Linux-Noob's wie mich noch den mc :D

Man muß sich nur zu Helfen wissen.

Also, nochmals Danke für deine Arbeit.


Tommes
 

exv2

Benutzer
Mitglied seit
09. Dez 2012
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo Qtip

sogar ich als Neuling habe das super hinbekommen.

Vielen Dank

Norbert
 

Tommes

Benutzer
Mitglied seit
26. Okt 2009
Beiträge
8.178
Punkte für Reaktionen
300
Punkte
249
Dann schieb ich gleich noch etwas hinterher.

Bei mir ist es unter der DSM 5 Beta so, das kein Admin Tool Icon angezeigt wird, sondern man nur den Schriftzug sieht. Wenn das bei euch auch so ist bzw. ihr zwei "leere" Admin Tool Icons im DSM angezeigt bekommt, dann könnt ihr das evtl . so ändern. Scheinbar arbeitet der DSM 5 nicht mehr mit .ico Dateien sondern nur noch mit .png 's !

Anmerkung: Ihr macht alles auf eigene Kappe!

Im Ordner /var/packages/adm/target/ befindet sich eine Datei mit dem Namen "adm.ico". Diese Datei habe ich mir auf den Rechner gezogen und mit einem Bildbearbeitungsprogramm in ein PGN-File umgewandelt. Gespeichert hab ich das ganze dann als "adm.png" und anschließend wieder auf die DS geschoben.

Dann die /var/packages/adm/target/application.cfg editieren und die Dateinamen ico16.ico und ico32.ico gegen adm.pgn austauschen. (speichern nicht vergessen)

Rich (BBCode):
text = AdminTool
description = DiskStation AdminTool
icon_16 = adm.png
icon_32 = adm.png
type = popup
path = /webman/3rdparty/adm/adm.html

Man könnte jetzt theoretisch die nicht mehr benötigten .ico Datein löschen, jedoch stören sie nicht weiter und ich weiß nicht genau, ob sie noch für etwas anderes benötigt werden. Deshalb hab ich sie nicht gelöscht.

Unter DSM 4.3 war es schon so und unter DSM 5 ist es immer noch so, das mir zwei Admin Tool Symbole angezeigt werden. Wen das stört, kann unter /var/packages/adm/target/ einfach die desktop.cfg löschen, dann sollte das Problem behoben sein.

Zum Schluß noch einmal am DSM Ab- und wieder Anmelden und alles sollte schön aussehen :D


Tommes
 
Zuletzt bearbeitet:

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
6
Punkte
84
Ich lege noch eins drauf ;)

Mit den folgenden Änderungen gibt es

  • Einstellung der Berechtigung zur Benutzung des AdminTool's, admin hat immer Zugriff (DSM 5: Systemsteuerung - Berechtigungen, DSM 4: Systemsteuerung - Anwendungsberechtigungen)
  • 16, 24, 32, 48, 64 und 72 Pixel Icons
An die Arbeit...

Da die Änderungen in der Datei adm.js zu groß sind, um hier alle aufzuführen, findet ihr die fertige Datei, die Icons und die config im Anhang.
  • /var/packages/adm/target/adm.php mit geeignetem Editor öffnen
  • in Zeile 18 das $user === 'admin' folgendermaßen abändern
    PHP:
    if (($ip == '203' || $ip == '198' || $ip == '192' ||  $ip == '172' || $ip == '10.') && $user != ''){
  • in Zeile 24 das print $user; folgendermaßen abändern
    PHP:
    if (isset($_REQUEST['auth'])) {print $synotoken; exit;}
  • nun alle Dateien im Anhang in das Verzeichnis /var/packages/adm/target/ entpacken, adm.js überschreiben
wie immer übernehme ich keine Haftung für Schäden
 

Anhänge

  • admintool_dsm5_fix.zip
    33,8 KB · Aufrufe: 609

Alfons403

Benutzer
Mitglied seit
09. Sep 2007
Beiträge
699
Punkte für Reaktionen
0
Punkte
42
Danke es funktioniert nun aber zu einer Frage Zufall oder diese Eingriffe?
Update 1 der 5.0 Beta ?

Also die Konfigurationsdateien wie oben beschrieben bearbeitet und AdmTool lööp wie
geschmirt + Icon!
Dann Update 1 eingespielt keine Probleme.
Dann einmal das Rootkit Tool angeworfen, das bis Dato nur das php Fenster geöffnet
hat und mir das Script anzeigte. Uups! Rootkit läuft an und bietet mir sofort ein Update an.
Lag das jetzt am Update 1, da von einem Fix bei php Problemen nichts im Changelog
steht.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
6
Punkte
84
Zufall, das Update 1 hat damit nichts zu tun :) Aber von allein startet der Rootkit Hunter (nicht das Paket im Paketzentrum) keine Suche nach einem Update, das wird immer manuell über den Button im Rootkit Hunter durchgeführt.
 

Alfons403

Benutzer
Mitglied seit
09. Sep 2007
Beiträge
699
Punkte für Reaktionen
0
Punkte
42
Das Update der Signaturen meine ich nicht, sondern einfach nach dem Start
ein Fast leeres Fenster mit einem Button und Hinweis auf Version 1.1.
Wie geschrieben wurde bis Dato beim Start nur das php Script angezeigt,
wie in einem Editorfenster. Nach dem Update des Hunters ist die Bedienung ect.
wie gewohnt wieder möglich.
 

QTip

Super-Moderator
Teammitglied
Mitglied seit
04. Sep 2008
Beiträge
2.341
Punkte für Reaktionen
6
Punkte
84
Ach, dann war der PHP-Code noch im Cache und nun hat das Script erstmalig funktioniert. Init_3rdparty hattest dann vermutlich nicht am laufen oder zuvor die alte, nicht funktionierende, Version installiert.
 

horstimac

Benutzer
Mitglied seit
08. Jun 2013
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hallo,
könnte mal bitte jemand ein fuzenden adm.php hochladen für DSM 5.x hochladen?
Bekomme das Admintool einfach nicht zum laufen. PHP zeigt nur Code an und Admintoll lädt sich tod. Zeigt nur den drehenden Kreis.
 

Tommes

Benutzer
Mitglied seit
26. Okt 2009
Beiträge
8.178
Punkte für Reaktionen
300
Punkte
249
Hast du denn auch das "Init 3rdparty" - Paket auf die Version 1.7 Beta angehoben?

Tommes
 

horstimac

Benutzer
Mitglied seit
08. Jun 2013
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Gerade gemacht. Jetzt läuft es. Leider nur in Firefox und Chrome. Beim IE lässt sich der Verzeichnissbaum nicht öffnen.
Und PHP ist auch weg.
 

Tommes

Benutzer
Mitglied seit
26. Okt 2009
Beiträge
8.178
Punkte für Reaktionen
300
Punkte
249
Das mit dem Verzeichnisbaum kann ich bei mir nicht bestätigen. Läuft sowohl im firefox als auch im IE !

Was meinst du denn mit "und PHP ist auch weg" ?

Tommes
 

horstimac

Benutzer
Mitglied seit
08. Jun 2013
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hatte gestern die adm.php wie auf der ersten Seite bearbeitet, neue Ico eingefügt, etc.
Unter aufgelistete App hatte zwei .php, wenn ich die geöffnet habe, stand da nur Text.
Heute nach dem aufspielen der neuen Init 3rdparty waren die weg. Keine Ahnung ob die vorher auch da waren.
IE habe ich noch den 10er, weil beim 11er kommen massig Grafikfehler.
 

Wetter

Benutzer
Mitglied seit
10. Jul 2010
Beiträge
42
Punkte für Reaktionen
0
Punkte
0
Ich hoffe es wird jemand bald ein passendes SPK Paket dafür bereit stellen. Ich habe zwar die Anpassungen wie in 1. Post beschrieben via vi gemacht, aber das Admintool lädt einfach nicht weiter und mangels Linuxkenntnisse weiß ich auch nicht warum, schließlich war das Admintool dafür da, "einfacher" an die nötigen Infos zu kommen ^^".
 

_PP_

Benutzer
Mitglied seit
20. Dez 2012
Beiträge
72
Punkte für Reaktionen
1
Punkte
8
Anpassungen wie in 1. Post beschrieben via vi gemacht, aber das Admintool lädt einfach nicht weiter
same here, der Balken läuft eine Weile, dann verschwindet er, die Uhr tickt, mehr kommt nicht ... (init3rdParty ist auf 1.7).
 

Dan97

Benutzer
Mitglied seit
14. Okt 2008
Beiträge
159
Punkte für Reaktionen
0
Punkte
16
Ich habe ein kleies Problem:
Wie komme ich per FTP auf die DS um die Dateien auszutauschen oder zu editieren? Ein normales FTP-Programm wie TotalCommander geht ja leider nicht und der integrierte Text-Editor auch nicht.
Bei der alten DS107+ ging ich über das Admintool auf die DS, welches ich jetzt installieren will.
 
Zuletzt bearbeitet:

_PP_

Benutzer
Mitglied seit
20. Dez 2012
Beiträge
72
Punkte für Reaktionen
1
Punkte
8
Ich schieb das immer per CIFS oder AFS auf ein Share der DS, logge mich per ssh ein und verteil von dort weiter ...

Ob es eine Möglichkeit gibt, direkt von extern auf die Root vom Filesystem zuzugreifen, habe ich noch nicht erforscht ... muß ja auch nicht sein, ist schließlich ein Sicherheitsloch ...
 

Tommes

Benutzer
Mitglied seit
26. Okt 2009
Beiträge
8.178
Punkte für Reaktionen
300
Punkte
249
Man kann das u.a. mit WinSCP umsetzen.

Auf der DS zuerst den SSH-Dienst aktivieren und in WinSCP mit dem SCP-Übertragungsprotokoll mit Benutzer "root" und dem Passwort des Admins auf der DS anmelden.

Tommes
 

Dan97

Benutzer
Mitglied seit
14. Okt 2008
Beiträge
159
Punkte für Reaktionen
0
Punkte
16
Mit WinSCP konnte ich die Änderungen machen. Wenn ich das AdminTool starte kommt der Anmeldebalken auch und wechselt dann auf "authenticate ... initialize ... load modules" und bleibt stehen. Die Uhr oben rechts dreht wingengen weiter. Was muss ich noch ändern?
 
NAS-Central - Ihr Partner für NAS Lösungen