Unix-Server Apache PHP Rechte für Scripts

Dieses Thema im Forum "Web- & File-Services" wurde erstellt von christoph_999, 30.09.2006.

  1. #1 christoph_999, 30.09.2006
    christoph_999

    christoph_999 Grünschnabel

    Dabei seit:
    30.09.2006
    Beiträge:
    8
    Zustimmungen:
    0
    Hi Leute

    Es geht um einen Mietserver
    Folgendes Problem stellt sich mir:
    Ein PHP-Script soll auf der Domain ausgeführt werden, das eine Datei ändert.
    Soll heissen, das Script xyz.php öffnet eine Datei (die auch auf derselben Domain, demselben Ordner liegt) verändert diese Datei und schliesst sie dann wieder. Das Script soll bei einer grossen Anzahl von Dateien durchlaufen und diese modifizieren.
    Es liefert aber ständig Fehlermeldungen, dass es keine Schreibrechte hätte.

    Ich habe folgendes nachgesehen: bei chmod 644 läuft es nicht, aber bei chmod 446 läufts sehr wohl.

    Ich bin ein Noob,was den Rootserver betrifft und auch Noob generell was Unix betrifft, deswegen habe ich in genau 2 Dateien nachgesehen, ob sich was machen lässt:
    httpd.conf und php.ini
    In beiden habe ich aber nichts gefunden, das mein Problem beheben würde.
    Ich bin mir aber ziemlich sicher, dass es irgendwo in diesen 2 Dateien stehen sollte, oder nicht? Ist sehr gut möglich, dass ich dort auch nichts gesehen habe, weil ich nicht weiss, wonach ich genau suchen soll.

    chmod 446 sagt mir eindeutig, dass dieses PHP-Script scheinbar als "öffentlich" läuft und nciht als "User", aber mehr wüsste ich schon auch nciht.
    Generell sollen dort mehrere Testdomains laufen, d.h. eine globale Lösung, die den ganzen Server betrifft und nciht nur das eine Script, wäre hilfreich. (eine Lösung, die nur für DIESES Script gilt und nur für DIESEN Ordner, wäre zwar nur etwas zeitweiliges, weil ich ja nächstes Mal wieder vor dem selben Problem stehe, wäre aber für jetzt auch durchaus annehmbar)

    Ich würde mich nicht an Euch wenden, wenns nciht dringend wäre, sonst macht das immer wer anderer.

    Danke schonmal im Voraus für Eure Antworten
    Sollte ich hier falsch sein, so sagt es mir bitte.

    bis dann
    Christoph
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. name

    name Inactive user

    Dabei seit:
    28.08.2004
    Beiträge:
    592
    Zustimmungen:
    0
    Ort:
    Wien->127.0.0.1
    Keine Doppelpostings bitte :)
     
  4. #3 grey, 30.09.2006
    Zuletzt bearbeitet: 30.09.2006
    grey

    grey -=[GHOST]=-

    Dabei seit:
    28.07.2006
    Beiträge:
    303
    Zustimmungen:
    0
    Dein PHP-Script wird vom Webserver ausgeführt. Das bedeutet, das PHP-Script hat die selben Rechte, wie der User, mit welchem der Web-Server läuft.

    Ich geh jetzt mal von Debian aus und dort läuft der Web-Server standardmäßig als User www-data mit der Group www-data. Nachdem, was ich aus deinem Posting entnehmen kann, würde ich stark darauf tippen (und auch hier gehe ich wieder von Debian aus), daß die zu bearbeitenden Files weder dem User www-data, noch der Group www-data gehören. Das hat zur Folge, daß der Web-Server, respektive das PHP-Script keine Schreibrechte bei den Files hat.

    Hier mal schnell ein kurzer Abriß zu den oktalen Perm-Werten.
    Die anderen Kombinationen setzen sich durch Addition dieser drei Werte zusammen. Hier ein kleines Beispiel:
    Ich hoffe, das hilft ein wenig weiter.
     
  5. #4 christoph_999, 30.09.2006
    christoph_999

    christoph_999 Grünschnabel

    Dabei seit:
    30.09.2006
    Beiträge:
    8
    Zustimmungen:
    0
    hat leider noch nicht weitergeholfen

    Wow, danke für die schnelle Antwort, ich bin begeistert ;-)
    Nun ja, es hat insofern nicht weitergeholfen, als dass ich das was Du geschrieben hast, schon weiss.

    Vielleicht sollte ich die Frage etwas konkretisieren:

    Die Frage ist: wie stelle ich es um, dass ein "berechtigter" User, wie der Webserver (www-data ist leider nicht auf meinem System vorhanden, aber dafür eine ganze Latte anderer "User" wie httpd, daemon, apache, mysql, admin, rpm, named, ntp, usw...) von Anfang an als Besitzer der hochgeladenen Dateien drin ist?

    Oder vielleicht anders rum: wie bekomme ich meinen eigenen angelegten User "chrisadm" in eine Gruppe rein, die das darf?

    Ich bin mir sicher, wenn ich dem User "chrisadm" diese Gruppe zuweisen könnte, würde das Problem dann einfach, wie Du auch schon gesagt hast, aufhören.

    Ich habe noch zwischenzeitlich folgendes herausgefunden mit einer mc-Konsole über Putty: der Besitzer all dieser Dateien ist tatsächlich "chrisadm" und die Gruppe ist immer wechselnd, je nachdem, in welchem Ordner sich die Datei befindet, ist die Gruppe "site13" oder "site12" usw.

    Vielleicht denke ich auch total verquer und es gibt eine Einstellung in der php.ini, die dann besagt "egal welcher User es ist, Hauptsache er ist am System angelegt, hat Schreibrechte für eine Datei" oder sowas ähnliches.

    Kannst Du mir ncoh ein Stück weiterhelfen
    Ich danke Dir jedenfalls für die äusserst rasche Antwort, finde ich echt toll, dass mir hier so schnell geholfen wird ;-)
    Danke
     
  6. #5 christoph_999, 30.09.2006
    christoph_999

    christoph_999 Grünschnabel

    Dabei seit:
    30.09.2006
    Beiträge:
    8
    Zustimmungen:
    0
    und sorry für den Doppelpost, ich bin (wie man an der Anzahl meiner Posts ersehen kann) noch neu und hab dieses Teil des Forums nicht gleich entdeckt.
    War wirklich keine Absicht
     
  7. #6 theton, 30.09.2006
    Zuletzt bearbeitet: 30.09.2006
    theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Bevor ich hier wieder anfange jemandem zu erzaehlen, dass es eine verdammt schlechte Idee ist an einem 100MBitler rumzuschrauben, wenn man keine Ahnung hat, weil man Gefahr laeuft dadurch Sicherheitsluecken aufzumachen, die gern missbraucht werden, hier erstmal zu deinem Problem:
    Folgende Manpages solltest du dringend lesen:
    man chown
    man chgrp
    man chmod
    man usermod
    man groupadd
    man useradd
    man groupmod
    Danach duerftest du erstmal die Grundlagen der Linux-Rechteverwaltung ueber die Konsole gelernt haben und dein Problem wirst du dann mit etwas logischem Denken ganz allein loesen koennen. :) Evtl. musst du noch die Doku deines FTP-Servers ein wenig studieren und um die Doku von Apache kommst du frueher oder spaeter auch nicht herum, also lies sie lieber auch gleich: http://httpd.apache.org/docs/2.2/

    Und wenn dich interessiert, warum ich dir hier keine Schritt-fuer-Schritt-Anleitung liefere um dein Problem zu loesen, kannst du ja mal den ersten Absatz von folgendem Post lesen: http://www.unixboard.de/vb3/showpost.php?p=168236&postcount=2
    Ich hab mir naemlich vorgenommen, dass ich Noobs bei Rootservern in Zukunft nicht mehr helfe. Reitet euch lieber allein in die Sch..., wenn ihr denkt, dass ihr mit eurem nicht vorhandenen Wissen die Arbeiten eines Admins machen koennt.
     
  8. Lumpi

    Lumpi Haudegen

    Dabei seit:
    14.06.2006
    Beiträge:
    663
    Zustimmungen:
    0
    Ort:
    Dessau
    Hallo Theton

    Deinen "Beitrag" finde ich absolut gerechtfertigt. :dafuer:
    Ich "arbeite" jetzt seit knapp 1,5 Jahren an einem "Schulserver".
    Aber ein ROOT-SERVER, ... das ist mir zu heiß.
    Ich glaube das jeder, der einem noob da hilft,
    sich irgendwie mit verantwortlich machen kann
    wenn´s brenzlig wird. Wie auch schon mehrmals
    gepostet wurde, sollte mann lieber erst mal sein eigenes "Netz"
    administrieren können und dann ....

    Ich glaube, man sollte solche Fragen auch nicht im UB diskutieren.
    Jede Hilfe, jedes Script kann alles nur verschlimmern.
    Deshalb bin ich für einen Ausschluß von "ROOT-Fragen" aus diesem Board hier.

    Gruß Lumpi
     
  9. #8 christoph_999, 30.09.2006
    christoph_999

    christoph_999 Grünschnabel

    Dabei seit:
    30.09.2006
    Beiträge:
    8
    Zustimmungen:
    0


    Leute, ich hab meinen eigenen Admin, der von Linux und Unix auch Ahnung hat. Nur ist der derzeit einfach nicht verfügbar. Er hat mir alles so eingerichtet, dass es läuft, aber halt nur "zur Hälfte".
    Ich möchte den Server auch gar nciht administrieren können, deswegen will ich Unix auch gar nciht lernen. Ich bin ein Noob und werde auch immer einer bleiben. Ich bin Programmierer und kein Unixler ;-)

    Deswegen hab ich mich ja auch an Euch gewandt, die Ihr etwas davon versteht.

    gibt es da keine Lösung dafür?
     
  10. Lumpi

    Lumpi Haudegen

    Dabei seit:
    14.06.2006
    Beiträge:
    663
    Zustimmungen:
    0
    Ort:
    Dessau
    Hallo

    Diese Bemerkungen sind ein Widerspruch zu deinem "wollen".
    Wenn du dich mit der Materie Server nicht vertraut machen willst
    und auch kein "*nix" lernen willst...
    Was willst du von uns?
    Sollen wir die Administration übernehmen oder was?

    Sorry, da hoffst du hier umsonst.
    Ich denke mal das es für einige hier kein Problem wäre,
    dir ein script oder Ratschläge zu geben.
    Nur bist du dann nicht in der Lage, diese auf Richtigkeit zu prüfen.
    Und unter Umständen hat dann deinen Job ganz schnell ein Anderer
    weil du die Kontrolle über das System verloren hast.

    Ich würde an deiner Stelle am Server keinen "Finger krumm machen"
    und auf deinen Admin warten. Alles andere gleicht einem Selbstmord.

    Gruß Lumpi
     
  11. #10 christoph_999, 01.10.2006
    christoph_999

    christoph_999 Grünschnabel

    Dabei seit:
    30.09.2006
    Beiträge:
    8
    Zustimmungen:
    0


    Danke, genau das sage ich meinen Kunden auch immer, dass sie auf eigene Gefahr handeln, wenn sie an ihren Shops herumwerken und ich nicht dafür verantwortlich sein kann.

    Ich weiss auch zu schätzen, dass Du es mir genauso weitergibst.
    Allerdings möchtest Du für mich Verantwortung übernehmen, das brauchst Du aber nicht.
    Ich bin mir der Gefahr absolut bewusst, nur kann ich jetzt nicht darauf warten, bis mein Admin tätig wird, weil das Geschäft einfach vorgeht.
    Die Gefahr, die von einem Test-System ausgeht ist ja ganz klar: sogar wenn jetzt ein böser Eindringling kommt, kann nur eines passieren: er übernimmt ein paar Webseiten, macht sich meinen Server zu eigen, ändert das Root-Passwort, löscht einige der Testseiten.
    Und? Es ist und bleibt nach wie vor ein Testsystem.
    Nunja, wenn es ihm gefällt, darf er sogar auf meinem Server wohnen --> bis zu dem Zeitpunkt, wo er dann produktiv wird, dann muss er raus und dafür sorgt dann auch der Admin, der mir bereits auch schon Steine in den Weg gelegt hat, wie ein doppeltes Anmeldesystem (man kann sich nicht direkt als root anmelden, sonder erst mittels su zum root wechseln) usw.

    Bitte hilf mir einfach, oder möchtest Du es hier zu einer Sicherheitsphilosophie ausbreiten, dann sind wir aber auch eindeutig im falschen Thread.

    Mein Admin wird sowieso schon die Hände über dem Kopf zusammenschlagen, wenn er wiederkommt und ich ihm erzähle, dass ich an meinem eigenen Server selber herumgedoktort habe ;-)
    Ich bin aber gross genug und werde nicht sagen, dass Du dafür verantwortlich bist :-))

    Von Techniker zu Techniker: Haben wir einen Deal?
     
  12. #11 christoph_999, 01.10.2006
    christoph_999

    christoph_999 Grünschnabel

    Dabei seit:
    30.09.2006
    Beiträge:
    8
    Zustimmungen:
    0
    Ach ja, und was den Beitrag von Theton betrifft: ich habe ihn gelesen und möchte Euch auch gerne mitteilen, warum ich einen Rootserver habe:

    Es ist ganz einfach, ein Server ist ein Diener, er soll mir dienen, nicht mehr und nicht weniger. Das ist eigentlich der ganze Grund.

    Und da ich Funktionen wie mod_rewrite usw. verwenden muss, die aber nur ein Apache beherrscht, kann ich mir keinen IIS aufsetzen, obwohl ich selber früher win 2003 Win2k und WinNT Server und Farmen administriert habe und dort sicherlich keine solchen Probleme hätte, die ich auf einem Board kundgeben müsste.

    Und was Eindringlinge angeht, so hatten wir schon einen - in der Standardkonfiguration, deswegen folgten jetzt auch Veränderungen und das System wurde dicht gemacht.
     
  13. #12 whopper, 01.10.2006
    whopper

    whopper Foren As

    Dabei seit:
    01.10.2006
    Beiträge:
    96
    Zustimmungen:
    0
    :respekt: Der beste Satz in deinem Posting :D

    Ich würd diesen Stolperstein eher "Sicherheitsmechanismus" nennen.
    Einloggen als root sollte immer vermieden werden
     
  14. #13 gropiuskalle, 01.10.2006
    gropiuskalle

    gropiuskalle terra incognita

    Dabei seit:
    01.07.2006
    Beiträge:
    4.857
    Zustimmungen:
    0
    Ort:
    Berlin
    @christoph_999: Tja, irgendwie scheinst Du ja eine recht sonnige Einstellung zum Umgang mit Servern zu haben - der Gefahren bist Du Dir offenbar nicht im Mindesten bewusst! Grab' mal das board hier nach threads zum Thema durch, dann erkennst Du sicherlich, dass ein Server nichts ist, was man sich von einem Admin "so halb" einrichten lässt und dann mit null Ahnung ins WWW beamt.

    Ich denke, thetons Ansatz ist über kurz oder lang der einzig mögliche: wenn man erkennt, dass der Fragesteller vielleicht einen Ratschlag umsetzen kann, ansonsten aber Wissenslücken in den elementaren Basics hat, dann kann man nur noch zum Abschalten raten. Hinweise zu manpages und Tipps zur Handhabe von Offline-Servern sind natürlich völlig in Ordnung, denn irgendwo muss man ja anfangen - nur nicht gerade gleich in einem offenen Netz (obwohl: Du sagst selbst, dass Du eigentlich keinen server administrieren können willst, weshalb mich wundert, dass Du mit sowas überhaupt betraut wirst).
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Schon das zeigt dein unverantwortliches Handeln. In dieser Zeit verschickt derjenige evtl. gigabyteweise Spam oder Viren oder verteilt fleissig Warez ueber deinen Server. Offenbar hast du meinen Beitrag also nicht richtig gelesen. Gehen wir davon aus, dass man auf einem Rootserver etwa 10 Megabyte pro Sekunde durch die Leitung jagen kann, gibst du damit dem "Bewohner" deines Servers die Moeglichkeit knapp 600MB Spam pro Minute zu verbreiten. Wenn dieser Spam z.B. ein Firmennetzwerk betrifft, kannst du davon ausgehen, dass du ziemlich schnell von denen eine Anzeige bekommst, denn Traffic kostet Geld.

    Die Loesung deines Problems ist ganz einfach: Sorge dafuer, dass alle User, die Dateien per FTP hochladen, in der Gruppe sind, unter der der Webserver laeuft und dass der FTP-Server fuer alle hochgeladenen Dateien eine Umask setzt, die der Gruppe Schreibrechte einraeumt. Wenn du nicht weisst wie das geht... sorry ... RTFM :rtfm:. (welche du lesen musst, habe ich dir ja bereits gesagt).
     
  17. Lumpi

    Lumpi Haudegen

    Dabei seit:
    14.06.2006
    Beiträge:
    663
    Zustimmungen:
    0
    Ort:
    Dessau
    Der halt "nur im Moment" nicht da ist.
    Diese Zeit ist ausreichend, um einen "badcode" einzubasteln.
    Nicht falscher Thread, sondern die Antwort, die du immer bekommen wirst.

    Dir wird aber bestimmt geholfen, wenn du z.B. fragst
    "Wie konfigurieren ich den Mailserver *XY*?" Oder andere "Kleinigkeiten".

    Alles was die Sicherheit betrifft, wird einfach nur nach /dev/null umgeleitet
    und, wie bisher in allen Thread´s auch, nicht anders kommentiert.
    ... und ganz schnell wieder gehen.
    Kurz gesagt: NEIN !
    DENN: Dafür gibt es die gut bezahlte Berufsgruppe ***ADMIN.

    Abschließend kann ich dir nur raten:
    • Lerne mit *nixuiden Systeme umzugehen.
    • Auch wenn die Syntax eventuell anders ist, als Programmierer verstehst
      du leicht jeden Quellcode des Systems. Zumindest solltest du das.
    • Befolge den Rat von Theton.
    • oder lass es sein
    Ich werde an diesem Thread nicht mehr teilnehmen, da ich meinen
    Standpunkt lang und breit genug erklärt habe.

    Gruß Lumpi

    PS: Ich wünsche weder von dir noch einem Anderen eine PM oder Mail zu diesem Thema, sonst > /dev/null

    [EDIT]
    Habe ich wieder mal lange gebraucht, die richtigen Worte zu finden!
     
Thema:

Unix-Server Apache PHP Rechte für Scripts

Die Seite wird geladen...

Unix-Server Apache PHP Rechte für Scripts - Ähnliche Themen

  1. Unix-Server Apache PHP Rechte für Scripts

    Unix-Server Apache PHP Rechte für Scripts: Hi Leute Es geht um einen Mietserver Folgendes Problem stellt sich mir: Ein PHP-Script soll auf der Domain ausgeführt werden, das eine Datei...
  2. Protokollierung von Fehlern auf Unix-Server

    Protokollierung von Fehlern auf Unix-Server: Werden auf einem HP-Unix-Server Betriebs-/Netzwerkfehler irgendwo in einem File protokolliert?
  3. Update auf Apache >=2.4.12 unter Debian Jessie

    Update auf Apache >=2.4.12 unter Debian Jessie: Hi, aufgrund eines Bugs in Apache 2.4 benötige ich zum Deployment von Seafile unter Debian Jessie das Paket apache2 in der Version >= 2.4.12...
  4. Centos und Apache (VirtualHost)

    Centos und Apache (VirtualHost): Hallo, ich bin gerade dabei die Firmenseiten unserer Unternehmensgruppe neu zu gestalten. Insgesammt sind es 3 Unternehmen. Als Server wurde mir...
  5. Apache Software Foundation gibt sich neues Logo

    Apache Software Foundation gibt sich neues Logo: Die Apache Software Foundation hat ihr Webseitendesign überarbeitet und sich ein neues Logo gegeben. Die Organisation sieht sich mit über 350...