Apache mit bestimmten User ausführen

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache mit bestimmten User ausführen

Postby Biber90 » 09. September 2010 11:49

Hallo,

ich habe ein Berechtigungsproblem mit meinem Apache2.2.

Folgendes Szenario:

Es ist ein Webserver gegeben auf dem der Apache läuft und ein beliebiger Client. Auf beiden
existiert das Verzeichnis "pdf_files" (z.B. C:\pdf_files)

Der Webserver generiert per PHP einige PDF-Dateien und schiebt sie in das lokale pdf_files Verzeichnis.
Dieses möchte ich mit php und xcopy-Befehl auf den beliebigen Client kopieren.

Solange die Berechtigungen der Verzeichnisse JEDEM Vollzugriff erlauben klappt das auch wunderbar.

Frage: Wie kann ich den Zugriff auf die pdf_files Ordner auf zwei Domänen-Nutzer einschränken?
Irgendwie muss ich dies ja in der httpd.conf-Datei unter "User" und "Group" einstellen oder nicht?
Der Apache wird ja schließlich mit irgendeinem User ausgeführt...ich komme nur nicht auf die richtige
Konfiguration :(

Ich hoffe ich habe mich klar genug ausgedrückt und freue mich über jede Antwort

Mfg
Biber90
Biber90
 
Posts: 4
Joined: 09. September 2010 11:11

Re: Apache mit bestimmten User ausführen

Postby Nobbie » 09. September 2010 13:28

Biber90 wrote:Dieses möchte ich mit php und xcopy-Befehl auf den beliebigen Client kopieren.


Wie soll das denn gehen? PHP läuft auf dem Server, nicht auf dem Client. Nur wenn Server und Client derselbe Rechner ist, dann geht das (aber dann ist es völlig sinnfrei).
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Re: Apache mit bestimmten User ausführen

Postby Biber90 » 09. September 2010 13:38

Schonmal danke für die Antwort,

es ist sehr wohl möglich einen Xcopy Befehl von php ausführen zu lassen!
Dadurch ist es auch möglich Daten von dem Server übers Netzwerk auf einen beliebigen Client zu kopieren.
Das klappt alles!

Es geht mir nur um die Einschränkung der Benutzerrechte
Biber90
 
Posts: 4
Joined: 09. September 2010 11:11

Re: Apache mit bestimmten User ausführen

Postby Nobbie » 09. September 2010 14:13

Biber90 wrote:Schonmal danke für die Antwort,

es ist sehr wohl möglich einen Xcopy Befehl von php ausführen zu lassen!
Dadurch ist es auch möglich Daten von dem Server übers Netzwerk auf einen beliebigen Client zu kopieren.
Das klappt alles!


Ne, mit absoluter Sicherheit NICHT.

Kopiere doch irgendeine Datei auf mein Notebook, welche Internetseite soll ich dafür aufrufen?

Ich vermute, dass Du ein Verständnisproblem hast und ggf. nur "Clients" aus einem LAN meinst, die außerhalb des Browserzugangs auch noch eine Freigabe o.ä. haben. Aber mit absoluter Sicherheit kann man von keinem Webserver mittels PHP einfach irgendeine Datei auf einen anderen PC (der als Client via Browser auf den Server zugreift) kopieren.
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Re: Apache mit bestimmten User ausführen

Postby Biber90 » 09. September 2010 16:25

Vielleicht habe ich mich wirklich falsch ausgedrückt

Wie genau kommst du jetzt auf Internetseite?
Ich spreche eigentlich die ganze Zeit von einem Firmen-Netzwerk.

In diesem Firmennetzwerk existiert ein Webserver (Apache) und irgendein PC (Client)

Somit kann ich auf dem Webserver eine beliebige PHP-Datei erstellen und folgenden Text hineinschreiben:

exec('xcopy "\\\\SERVER\\PFAD_ZUM_PDF_FILES_ORDNER" \\\\CLIENT-PC\\PFAD_ZUM_PDF_FILES_ORDNER');

Rufe ich diese Datei auf, wird die exec-Funktion ausgeführt, welche die Shell veranlasst die Daten zu kopieren.

Ich hoffe, ich habe jetzt die richtigen Worte verwendet.
Biber90
 
Posts: 4
Joined: 09. September 2010 11:11

Re: Apache mit bestimmten User ausführen

Postby Nobbie » 09. September 2010 16:47

Biber90 wrote:Vielleicht habe ich mich wirklich falsch ausgedrückt


Ja.

Biber90 wrote:Wie genau kommst du jetzt auf Internetseite?


Weil Du hier in einem Apache Forum bist und eine PHP Frage stellst. Apache benutzt man, um im Internet Webserver zu betreiben. PHP ist eine Interpretersprache zur Bereitstellung dynamischer Inhalte auf Internetseiten.

Biber90 wrote:Ich spreche eigentlich die ganze Zeit von einem Firmen-Netzwerk.


Das ist das, was nur Du weißt, "Sprechen" bzw. schreiben tust Du von "Server" und "beliebigem Client". Das ist dann ein ganz normaler Webserver und ein Browser auf einem PC. Das ist die gängige Terminologie. In diesem Umfeld wirde Apache und PHP eingesetzt.

Biber90 wrote:In diesem Firmennetzwerk existiert ein Webserver (Apache) und


Eben, "Webserver". Web = Abkürzung für "Internet".

Biber90 wrote: irgendein PC (Client)


Falsch. Vollkommen falsch. Da beginnt Dein Fehlverständnis. "Irgendein PC" ist kein Client. Ein "Client" im Umfeld "Webserver" ist ein PC, der mit einer geeigneten Software (in aller Regel ein Browser) einen sog. "HTTP Request" an den Server schickt und dabei das Protokoll TCPIP benutzt. Das und NUR DAS ist ein Client. Du meinst aber etwas total anderes. Nämlich ein Mitglied einer Domäne oder eines LANs.

Biber90 wrote:Somit kann ich auf dem Webserver eine beliebige PHP-Datei erstellen und folgenden Text hineinschreiben:


Das kann man so machen. Aber dazu braucht man weder einen Webserver (das geht auch vollkommen ohne Apache), noch PHP (das geht auch vollkommen ohne PHP). Da braucht man auch keinen Server und keinen Client (und in diesem Kontext ist keiner der beiden Rechner ein Server oder ein Client). Du brauchst nur die beiden Rechner, auf dem Zielrechner eine sog. "Freigabe" und das ganze xcopy-Szenario kann man ganz simpel auch direkt in einer Shell ausführen. Dazu braucht es sonst überhaupt nichts. Man kann (wenn man das will) das auch in ein PHP Script einbetten, dieses könnte man nun auch direkt von PHP (Command Line Interpreter = PHP CLI) ausführen lassen. Man kann aber auch noch eine Stufe mehr drauf packen (wenn man das will) und dieses PHP Script durch einen Apache Webserver ausführen lassen.

Biber90 wrote:Ich hoffe, ich habe jetzt die richtigen Worte verwendet.


Halbwegs (s.o.). Nur verstehe ich jetzt immer noch nicht den Sinn und wie das nun in ein Server/Client Szenario zu portieren ist.
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Re: Apache mit bestimmten User ausführen

Postby Biber90 » 09. September 2010 17:46

ok ok,
also ich führe das ganze nur deswegen mit php aus, weil auch die pdf-Dateien mit PHP erzeugt werden.
Mit einem Klick auf "Generate PDF's" wird eben dieser exec()-Befehl aufgerufen, damit die erzeugten Dateien
danach in dem Zielordner auf dem PC gelangen. (Zumindest fällt mir sonst keine bessere Lösung ein)

Der Apache-Dienst führt das ganze mit einem bestimmten Benutzer (default: daemon; httpd.conf) aus.
Ich möchte diesen Dienst jetzt mit einem Benutzer ausführen lassen, der die Schreibrechte für
den pdf_files Ordner auf dem PC hat.
Schreibrechte sollen später nur zwei Benutzer haben (domäne\nutzer). Kann der Apache mit einem
Domänen-User ausgeführt werden (wenn ja, wie?) oder geht das nur mit lokalen Benutzern?
Biber90
 
Posts: 4
Joined: 09. September 2010 11:11


Return to Apache

Who is online

Users browsing this forum: No registered users and 6 guests