AdminTool AdminTool und DSM >= 5

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

QTip

Super-Moderator
Teammitglied
Registriert
04. Sep. 2008
Beiträge
2.341
Reaktionspunkte
14
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:
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
 
Hallo Qtip

sogar ich als Neuling habe das super hinbekommen.

Vielen Dank

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

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.
 
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.
 
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.
 
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.
 
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.
 
Hast du denn auch das "Init 3rdparty" - Paket auf die Version 1.7 Beta angehoben?

Tommes
 
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.
 
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
 
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.
 
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 ^^".
 
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).
 
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:
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 ...
 
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
 
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?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat