Samba(-Status) als 3rd-party-apps

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Gelegentlich will man noch ein wenig mehr über die gemeinsamen Ordner oder auch (Samba-)Shares wissen. Hier eine Statusabfrage nach den wichtigsten Samba-Werten. Für manche Abfrage ist das Kennwort des admin nötig. Deshalb wird es zu Beginn abgefragt. Das ist eine nicht so schöne Geschichte; daher diese Seite auf keinen Fall außerhalb des lokalen Netzes einsetzen, weil sonst das Kennwort unverschlüsselt über Web läuft. Aber ohne Kennwort funktionieren die meisten Abfragen nicht.

(1) Die Datei /usr/syno/synoman/webman/3rdparty/samba.cfg enthält:
Rich (BBCode):
text = Samba
description = Samba
type = embedded
path = /phpsrc/samba/samba.php

(2) Die Datei /usr/syno/synoman/phpsrc/samba/samba.php enthält:

PHP:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>cronjobs</title>
<style>body,input,td{font:12px Arial;margin-right:1px;margin-bottom:1px}
pre{font-size:10px;padding:2px;background-color:#eef}</style>
</head><body>
<form name="f" method="post" action="samba.php">
<input type="hidden" id="action" name="action" value="">
Admin's password: <input type="password" name="password" value="<?php print $_REQUEST['password'] ?>" />
<input type="button" value="go" onclick="submit()" /><br/><br/>
<?php
if ($_REQUEST['password'] != '') {
print '<pre title="net domain">';
passthru('net -U admin%'.$_REQUEST['password'].' domain|egrep -v "^[\t\n ]*$"');
print '</pre><pre title="net file">';
passthru('net -U admin%'.$_REQUEST['password'].' file|egrep -v "^[\t\n ]*$"');
print '</pre><pre title="net groupmap list">Groupmap list:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' groupmap list|egrep -v "^[\t\n ]*$"');
print '</pre><pre title="net lookup master">Lookup master:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' lookup master|egrep -v "^[\t\n ]*$"');
print '</pre><pre title="net lookup ldap">Lookup LDAP-Server:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' lookup ldap|egrep -v "^[\t\n ]*$"');
print '</pre><pre title="net lookup kdc">Lookup Kerberos-Server:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' lookup kdc|egrep -v "^[\t\n ]*$"');
print '</pre><pre title="net lookup dc">Lookup Domain-Server:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' lookup dc|egrep -v "^[\t\n ]*$"');
print '</pre><pre title="net printq">';
passthru('net -U admin%'.$_REQUEST['password'].' printq|egrep -v "^[\t\n ]*$"');
print '</pre><pre title="net server">Additional servers:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' server|grep -v "^[\t\n ]*$"');
print '</pre><pre title="net session">Samba sessions:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' session|grep -v "^[\t\n ]*$"');
print '</pre><pre title="net share">Samba shares:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' share|grep -v "^[\t\n ]*$"');
print '</pre><pre title="net status sessions">Status sessions:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' status sessions|grep -v "^[\t\n ]*$"');
print '</pre><pre title="net status shares">Status shares:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' status shares|grep -v "^[\t\n ]*$"');
print '</pre><pre title="net user">Samba users:<br/>';
passthru('net -U admin%'.$_REQUEST['password'].' user|grep -v "^[\t\n ]*$"');
print '</pre><pre title="nmblookup -S `uname -n`">NMB-Lookup:<br/>';
passthru('nmblookup -S `uname -n`|grep -v "^[\t\n ]*$"');
print '</pre><pre title="smbstatus">SMB-Status:<br/>';
passthru('smbstatus|grep -v "^[\t\n ]*$"');
print '</pre><pre title="/usr/syno/etc/smb.conf">/usr/syno/etc/smb.conf:<br/>';
passthru('cat /usr/syno/etc/smb.conf');
print '</pre>';
}
?>
</form></body></html>

Wie immer der Hinweis, dass alles auf eigene Kappe geht. Ich hab darauf verzichtet, das PHP-Skript als Anhang zu schicken, damit sich auch jeder sofort überzeugen kann, dass das Kennwort nicht von mir durch dubiose Funktionen ausspioniert wird. Nochmal der Hinweis: Dieses Skript-Seite nicht außerhalb des lokalen Netzes und am besten auch nur so wie vorgeschlagen im Disk Station Manager aufrufen. Auf keinen Fall in andere Webseiten als (embedded) Frame integrieren, da man das Passwort im Page-Container lesen könnte.

Und zuletzt wieder das Motivations-Bildchen:
|
 

Anhänge

  • samba.jpg
    samba.jpg
    79,9 KB · Aufrufe: 805

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Samba (SMB) - Konfiguration als 3rd-party apps

Da ja in der letzten Zeit wieder einmal Samba hoch im Kurs ist, hab ich mal die smb.conf des ganz normalen Samba-Servers zum Editieren in ein Web-Fenster geholt. Man kann also die einzelnen Sections ergänzen und auch duplizieren, wenn einem danach ist.

Man sollte sich aber schon ein wenig auskennen, denn es wird keine Sicherungs-Kopie der smb.conf angelegt. Also wenn man diese verratzt, dann muss man seine Shares wieder neu anlegen. :D

In dem Bildchen wird auch ein Beispiel gezeigt, wie man ein Unterverzeichnis in der smb.conf anlegt. ;) Damit man auch alles auf der Web-Seite erledigen kann, hab ich gleich die Verzeichnis-Geschichte mit eingebaut.

Also wie immer geht alles auf eigene Kappe :D Und wie immer steht das Skript unter GPL3. die Voraussetzungen für die Installation und das Funktionieren eines PHP-Skriptes als 3rd-party apps sind an anderer Stelle ja schon beschrieben.

itari

.
 

Anhänge

  • smb.jpg
    smb.jpg
    57,2 KB · Aufrufe: 708
  • SMB.spk
    10 KB · Aufrufe: 493

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@itari
Wegen dem Passwort: Warum dieses nicht direkt in den Code eintragen?
PHP:
$_REQUEST['password']  = 'ichBinTotalGeheim';
und schon muss das Root PW nicht mehr via Netz übetragen werden.

Gruss

tobi
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Die beiden Skripte in dem Thread haben nichts wirklich miteinander zu tun.

Bei dem Skript (#1) ist das so mittlerweile bei mir auch gelöst.

Für das aktuelle Skript (#2) ist kein Passwort nötig.

itari
 

PeterG

Benutzer
Mitglied seit
12. Sep 2008
Beiträge
472
Punkte für Reaktionen
0
Punkte
0
Hi,
ich habe das Wiki zu 3rd-party ergänzt; wirf mal einen Blick, ob das so ok ist.

Gruß
Peter
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0

PeterG

Benutzer
Mitglied seit
12. Sep 2008
Beiträge
472
Punkte für Reaktionen
0
Punkte
0

basti122303

Benutzer
Mitglied seit
23. Jan 2012
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich hatte gerade versucht das o.g. Packet auf einem DS212j (DSM4-2233) zu installieren.
leider sehe ich nur den Quellcode. Es scheint also als würde der System Apache das PHP nicht ausführen.

Nachfolge Testdatei:
HTML: Ja
PHP: keine Darstellung
Rich (BBCode):
<CTYPE html>
<html>
<body>
<p>foo</p>
<p>PHP </p>
<?php
echo "foo";
?>
</body>
</html>
 

basti122303

Benutzer
Mitglied seit
23. Jan 2012
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
In der smb.php waren die ersten php zeilen (vor <head>) aus irgend einem Grund falsch Formatiert.
Nachdem ich diese gelöscht habe wurde die GUI dargestellt, Zeilen wieder eingefügt und schon klappt alles.

P.S. ich werd mir das mit init_3rdparty mal ansehen danke für den Tip
 
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