Hallo Forum,
ich habe die Situation das mein socket-server auf unterschiedliche Subdomains (auf selbigem Server) zugreifen und verändern muss. Bewerkstelligen kann ich dies mit dem Modul "fs" welche Dateien und Ordner erstellen, ändern und schreiben/lesen kann.
Problem dabei ist ich müsste es atm als root ausführen da sonst der Benutzer vom socket-server nicht die Berechtigung hat um in fremdes Revier zu arbeiten. Außerdem würden sich bei betroffene Dateien der Nutzer ändern, was nicht geschehen darf, da die Subdomain die Rechte weiterhin behalten muss.
Nun auf dem Server läuft Plesk wodurch das mit den Gruppen und Co wohl etwas problematisch sein wird aber gibt es da eine Lösung das man eine Benutzer-Gruppe macht die sowohl der Server als auch die Supdomains nutzen wobei die Subdomain-Nutzer natürlich nur auf ihren homepath Rechte besitzen dürfen (etwas tricky) =(
Mein aktuelles System arbeit derzeit noch ohne webSocket so das ich mittels XHR zum Ziel komme, dabei hat natürlich jede Subdomain eine client.php im httpdocs Ordner liegen, so das diese Datei alle aufgaben erledigt und dies dann unter dem Benutzer der Subdomain geschieht wodurch bis her eben keine derartigen Probleme entstanden.
Der socket-server könnte jetzt selber einen XHR zur client.php schicken, dies wäre aber a) unschön und b) performance raubend. Ich denke das Berechtigungsproblem ließe sich nur mit solch einer Datei lösen, nur stellt sich mir die Frage wie kann mein socket-server die Datei ansprechen wenn nicht über XHR ?
Oder gäbe es vllt. noch eine 3the Möglichkeit?
Nur noch mal zur Klarstellung, für den webSocket-server habe ich via Terminal nen eigenen user in /home/socket_srv angelegt dieser hat also ncht mit den Subdomains zu tun, und der Server muss aber via absolute-pfade auf die Objekte in einem /httpdocs Ordner zugreiffen und dies möglichst so, dass der Eigentümer die Rechte nicht verliert.
MFG: Paykoman
mit socket.io Ordner/Dateien verwalten...
-
- Anbieter
- Posts: 757
- Joined: 2004-01-02 12:17
Re: mit socket.io Ordner/Dateien verwalten...
Nein das geht so nicht.Nun auf dem Server läuft Plesk wodurch das mit den Gruppen und Co wohl etwas problematisch sein wird aber gibt es da eine Lösung das man eine Benutzer-Gruppe macht die sowohl der Server als auch die Supdomains nutzen wobei die Subdomain-Nutzer natürlich nur auf ihren homepath Rechte besitzen dürfen (etwas tricky) =(
Es wäre hilfreich, wenn du erklären würdst warum du unbedingt in den User Verzeichnissen schreiben willst. Vielleicht könnten wir dir andere Wege zeigen, nur dazu müsste man wissen was du vor hast.
-
- Posts: 84
- Joined: 2006-07-16 14:18
Re: mit socket.io Ordner/Dateien verwalten...
Nun, jede Subdomain gehört einem Kunden der entsprechend Dateien dort gespeichert hat die über den Server verwaltet werden.
In zwischen denke ich, es ist eben das beste das in jeder subdomain eine client.php liegt diese kann ich bequem über den server ansprechen und die Aufgaben erledigen lassen (ähnlich wie ich es derzeit auch tue nur etwas weniger umständlich und vor allem performanter).
Die ersten Tests habe ich schon gemacht und es klappt reibungslos & schnell.
Ein letztes Problem habe ich jedoch noch, was leider wieder etwas schwer zu erklären ist.
Ein Kunde soll einem anderen die Möglichkeit geben können ebenfalls auf die Dateien in seiner Subdomain zu zugreifen, da dies serversetitg geschieht werden keine sensiblen Daten preis gegeben und die Validierung + Zurgriffsrechte sollten so schnell nicht umgangen werden können.
Da es aber unter anderem eben php-Dateien sind die dort liegen, könnte Jemand vorgeben helfen zu wollen um den Zugriff zu erhalten und die .php Dateien natürlich umschreiben und z.B. den gesamten htdocs Ordner via php code löschen in dem er die modifizierte Datei einfach über die Subdomain aufruft.
Nun da der Speicherungs-Prozess über den Server erfolgt, dachte ich ich mir, ich lasse diesen bei PHP-Dateien erst den Inhalt nach verbotenen Funktionen absuchen wie "unlink(" aber zu einem müsste ich ein index erstellen mit allen möglichen Funktionen die Schaden anrichten könnten und zum anderen gibt es viele Möglichkeiten in PHP eine Funktion auszuführen, erschwerend kommt noch "wihtspaces" hinzu.
Ist alles etwas tricky =(
In zwischen denke ich, es ist eben das beste das in jeder subdomain eine client.php liegt diese kann ich bequem über den server ansprechen und die Aufgaben erledigen lassen (ähnlich wie ich es derzeit auch tue nur etwas weniger umständlich und vor allem performanter).
Die ersten Tests habe ich schon gemacht und es klappt reibungslos & schnell.
Ein letztes Problem habe ich jedoch noch, was leider wieder etwas schwer zu erklären ist.
Ein Kunde soll einem anderen die Möglichkeit geben können ebenfalls auf die Dateien in seiner Subdomain zu zugreifen, da dies serversetitg geschieht werden keine sensiblen Daten preis gegeben und die Validierung + Zurgriffsrechte sollten so schnell nicht umgangen werden können.
Da es aber unter anderem eben php-Dateien sind die dort liegen, könnte Jemand vorgeben helfen zu wollen um den Zugriff zu erhalten und die .php Dateien natürlich umschreiben und z.B. den gesamten htdocs Ordner via php code löschen in dem er die modifizierte Datei einfach über die Subdomain aufruft.
Nun da der Speicherungs-Prozess über den Server erfolgt, dachte ich ich mir, ich lasse diesen bei PHP-Dateien erst den Inhalt nach verbotenen Funktionen absuchen wie "unlink(" aber zu einem müsste ich ein index erstellen mit allen möglichen Funktionen die Schaden anrichten könnten und zum anderen gibt es viele Möglichkeiten in PHP eine Funktion auszuführen, erschwerend kommt noch "wihtspaces" hinzu.
Ist alles etwas tricky =(
-
- Anbieter
- Posts: 757
- Joined: 2004-01-02 12:17
Re: mit socket.io Ordner/Dateien verwalten...
Normalerweise verwendet Plesk die Gruppe psacln und setzt bei schreiben die Rechte so das die Gruppe lesen kann aber nicht schreiben. Lesen und Schreiben kann nur der Eigentümer. Packst du nun alle in eine Gruppe und setzt die Rechte so das die Gruppe auch schreiben kann, kann man leicht eine PHP Datei schreiben und diese dann über den Subdomain Aufruf dann ausführen.
Was genau soll denn diese client.php machen? Wartungsarbeiten???
Was genau soll denn diese client.php machen? Wartungsarbeiten???
-
- Posts: 84
- Joined: 2006-07-16 14:18
Re: mit socket.io Ordner/Dateien verwalten...
Ja nun, ich denke ich werde dies alles durch weitere Subdomains schützen, so könnte natürlich immer noch Jemand der vorgibt mitwirken zu wollen schädlichen coden einspeisen und über den Sub-Domain-Aufruf ausführen und z.B. alles löschen (was ja das Problem ist) .
So wird es halt weitere Abtrennungen durch zusätzliche Sub-Domains geben (eine Private für alleinigen Zugriff und jeweils eine für ein Projekt). Dann muss eben zusätzlich mit Versionskontrolle und Backupsystem gearbeitet werden um Schädigungen die Wirkung zu entziehen.
Da sich das Problem nun mal nicht anders beheben läßt, arbeitet man gemeinsamm ein php-Skript kann da Jemand immer Schmu treiben.
MfG: Pay
So wird es halt weitere Abtrennungen durch zusätzliche Sub-Domains geben (eine Private für alleinigen Zugriff und jeweils eine für ein Projekt). Dann muss eben zusätzlich mit Versionskontrolle und Backupsystem gearbeitet werden um Schädigungen die Wirkung zu entziehen.
Da sich das Problem nun mal nicht anders beheben läßt, arbeitet man gemeinsamm ein php-Skript kann da Jemand immer Schmu treiben.
MfG: Pay