Besitzer/Berechtigungen für Dateien und Verzeichnisse

  • Hallo,


    nun habe ich mich mal hier im Forum angemeldet, damit der Support nicht am Ende noch zusammenbricht ;)


    Eine Frage zur Einrichtung von "Dateibesitzern": Mir ist aufgefallen, daß ich bei einem datenbanklosen CMS keine Bilder auf den vServer hochladen konnte, auf meinem netcup-Webspace geht das allerdings. Der einzige Unterschied, den ich feststellen konnte, war der, daß auf dem Webspace der FTP-Benutzer und der www-Benutzer dieselbe Nummer haben, also aus Sicht des Servers wohl identisch sind, und auf dem vServer eben nicht (der FTP-Benutzer hat einen Benutzernamen entsprechend dem unter SysCP eingerichteten FTP-Account, der www-Benutzer hat nur ein Fragezeichen in Klammern, obwohl in der Apache-Konfiguration als Benutzername "www-data" etc. voreingestellt ist; diese Angaben beziehen sich auf Filezilla als FTP-Programm. In WinSCP mit root-Zugang ist natürlich kein Fragezeichen zu sehen ;)


    So, nun zur Frage: Kann ich die Serverkonfiguration so ändern, daß wenigstens statt dem Fragezeichen im FTP-Programm beim Besitzer ein Name (z.B. www-data) oder eine Zahl auftaucht (und wenn ja, dann wie?), oder besser noch, wie kann ich auch den vServer so konfigurieren, daß er FTP- und www-Benutzer gleichsetzt?


    Bin mit Serversachen nicht so bewandert, bisher reichts nicht für viel mehr als die allerdringendsten Einstellungen und für eine XAMPP-Umgebung für lokale Tests. Daher schonmal vielen Dank im Voraus für Hilfestellungen.


    Grüße
    samci

    "... Das Fernsehen präsentiert als Ideal den totalen Durchschnittsmenschen. ...der Zuschauer sieht das Abbild seiner eigenen Beschränktheit glorifiziert und offiziell mit den Insignien einer nationalen Autorität ausgezeichnet. ..." (Umberto Eco) - gefunden bei Ranga Yogeshwar


    Und ganz aktuell: "Selbst Zwerge werfen lange Schatten, wenn die Sonne der Kultur tief steht" (Karl Krauss)

  • Um die Berechtigung für Benutzer und Webserver zu erlauben hast du 2 Möglichkeiten:


    1. Du gibst dem FTP Benutzer die selbe ID wie dem Webserver. In wie weit das mit WinSCP o.ä. umzusetzen ist kann ich nicht sagen.


    2. Du setzt Besitzer und Gruppe unterschiedlich (so habe ich es bei mir).
    Besitzer = FTP Benutzer
    Gruppe = Webserver


    Dann kann der Webserver Dateien bearbeiten, genauso wie der FTP Benutzer.
    Verteilen lasse ich die Berechtigung automatisch, indem der übergeordnete Ordner auf chmod u+s,g+s gesetzt ist.


    Dann werden die Berechtigung beim erstellen schon gesetzt, sowohl IDs, also auch Berechtigung ansich.

  • Sehe ich das richtig, daß "u+s" z.B. dem "setze UID" im Eigenschaftsfenster für Dateien und Verzeichnisse von WinSCP entspricht?



    Dann müßte es doch eigentlich auch problemlos gehen, einen beliebigen Benutzer und eine beliebige Gruppe dem obersten Benutzerordner zuzuordnen und mit gesetztem u+s, g+s dafür zu sorgen, daß sämtliche darunter angelegten Sachen die gleichen Werte bekommen, egal ob nun der oberste Benutzerordner per FTP angelegt wurde oder nicht; bzw. wenn er z.B. mit FTP angelegt wurde, wäre doch mit dem Setzen von u+s, g+s bereits alles erledigt, oder habe ich da jetzt was falsch verstanden?


    Bin gerade nicht an meinem eigenen Rechner, daher kann ich das erst später selbst testen.


    ??


    Grüße
    samci

    "... Das Fernsehen präsentiert als Ideal den totalen Durchschnittsmenschen. ...der Zuschauer sieht das Abbild seiner eigenen Beschränktheit glorifiziert und offiziell mit den Insignien einer nationalen Autorität ausgezeichnet. ..." (Umberto Eco) - gefunden bei Ranga Yogeshwar


    Und ganz aktuell: "Selbst Zwerge werfen lange Schatten, wenn die Sonne der Kultur tief steht" (Karl Krauss)

  • Ich kenne WinSCP nicht, daher kann ich dir nicht sagen ob das damit möglich ist.


    Ich habe das bei mir einfach per SSH eingerichtet.


    chown benutzer:webserver datei/verzeichnis
    chmod u+s,g+s datei/verzeichnis


    Damit sollte die Berechtigung beim anlegen von Ordnern/Datei automatisch vom übergeordneten Order übernommen werden. Ggf. auch von der Datei die entsprechende Dokumente erstellt.

  • OK, ich probiere es halt mal. Wenn es bei Dir generell so ging, kann es ja eigentlich nur diese Einstellung gewesen sein, ich denke ja nicht daß WinSCP irgendwelche weiteren Eigenschaften einfach unterschlägt. Mit SSH habe ich noch nicht viel ohne Hilfe hinbekommen (hatte fast noch nie mit Linux zu tun), daher probiere ich es zuerst mit WinSCP.
    Danke auf jeden Fall soweit schonmal.


    samci

    "... Das Fernsehen präsentiert als Ideal den totalen Durchschnittsmenschen. ...der Zuschauer sieht das Abbild seiner eigenen Beschränktheit glorifiziert und offiziell mit den Insignien einer nationalen Autorität ausgezeichnet. ..." (Umberto Eco) - gefunden bei Ranga Yogeshwar


    Und ganz aktuell: "Selbst Zwerge werfen lange Schatten, wenn die Sonne der Kultur tief steht" (Karl Krauss)

  • So, es war natürlich mal wieder alles ganz anders.
    Auch in anderen Programmen hatte ich nun Fehlermeldungen beim Versuch, Dateien hochzuladen.


    Der Sache bin ich aber dann doch auf den Grund gekommen; es hatte nichts mit den Besitzrechten zu tun, denn die hatte ich auch mal geändert.


    Der Grund war irgendwo in der Definition des temporären Upload-Verzeichnisses von PHP. SysCP gibt zwar irgendwie (wie in den "Einstellungen" eingestellt) das Verzeichnis "/tmp/" als Ausnahme von "Open_BaseDir" an, aber anscheinend wird das gar nicht von PHP für temporäre Uploads benutzt. Ob bis dahin überhaupt irgendein Verzeichnis dafür benutzt wurde, weiß ich nicht, aber jedenfalls habe ich dann in der php.ini "upload_tmp_dir = /tmp/" eingetragen, den vServer neugestartet (ging schneller als erst den Befehl für Apache Reload oder so genau rauszufinden), und damit ging es.
    "safe_mode_include_dir = /tmp/" mußte ich in der php.ini nicht einstellen, da ja wie gesagt SysCP das irgendwie auf einem anderen Weg veranlaßt.


    Scheint ganz so, als ob nun mein vServer einen vertretbaren Sicherheitsstandard erreicht hat und dazu auch noch richtig funktioniert (abgesehen vom nicht funktionierenden IMAP, das aber wohl lt. SysCP-Konfigurationsangaben zum Laufen gebracht werden könnte...).


    Wer hätte das in letzter Zeit noch wirklich gedacht... ;)


    Grüße
    samci

    "... Das Fernsehen präsentiert als Ideal den totalen Durchschnittsmenschen. ...der Zuschauer sieht das Abbild seiner eigenen Beschränktheit glorifiziert und offiziell mit den Insignien einer nationalen Autorität ausgezeichnet. ..." (Umberto Eco) - gefunden bei Ranga Yogeshwar


    Und ganz aktuell: "Selbst Zwerge werfen lange Schatten, wenn die Sonne der Kultur tief steht" (Karl Krauss)

  • Auszug aus der php.ini ;)

    Zitat

    ; Temporary directory for HTTP uploaded files (will use system default if not specified).


    Das wäre dann im Normalfall /tmp, allerdings hat PHP wegen dem OBD keine Rechte alle existierenden Dateien einzusehen, wodurch PHP auch nicht weiß welche es anlegen darf (File Exists...). Dazu müsste man statt /tmp/ für den OBD /tmp im Syscp eintragen, was nur mit einer Modifierzierung an Syscp möglich ist: http://forum.netcup.de/showthread.php?t=412


    Dann hat man allerdings das Problem, dass jedes Scripts (z.B. auch von anderen mit Syscp angelegten Kunden) alle Dateien in /tmp sehen darf. Was natürlich wieder suboptimal ist. Wenn man das System alleine nutzt sollte das egal sein, andernsfalls sollte es für jeden Benutzer ein eigenes temporäres Verzeichnis (z.B. /tmp/<kunde> oder /var/kunden/tmp/<kunde>) geben, wie man das mit Syscp automatisiert habe ich allerdings noch nicht erforscht :o


    Achja: Die selbe Problematik stellt sich auch bei den PHP-Sessions. Hier kommt natürlich noch dazu, dass es sicherheitstechnisch noch schlimmer wäre, wenn jeder alle beliebigen Session Informationen einsehen darf.


    Zitat von samci;5756

    ging schneller als erst den Befehl für Apache Reload oder so genau rauszufinden


    /etc/init.d/apache2 -> und schon hast eine Ausgabe der verfügbaren Parameter ;)


    Zitat von samci;5756

    Scheint ganz so, als ob nun mein vServer einen vertretbaren Sicherheitsstandard erreicht hat


    Ich weiß nicht was du alles bereits getan hast, aber deaktiviere unbedingt Funktionen wie exec, system, passthru, shell_exec, popen, escapeshellcmd, proc_open, proc_nice, wenn du sie nicht unbedingt brauchst ;)



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Schön schön... aber eine Wertung zu meiner Lösung ist das nicht, oder? Weil, anscheinend gehts wohl auch mit SysCP-Modifikation nicht so ohne weiteres besser... ???
    Also ich finde meinen Weg auch jetzt gar nicht so schlecht... oder habe ich da auch doch irgend ne Sicherheitslücke aufgetan?


    Ist halt schade, daß sowas nicht irgendwo in einer grundsätzlichen Einleitung steht. Ist doch existenziell für eine reguläre Nutzung des Images (oder seiner Updates :P )

    "... Das Fernsehen präsentiert als Ideal den totalen Durchschnittsmenschen. ...der Zuschauer sieht das Abbild seiner eigenen Beschränktheit glorifiziert und offiziell mit den Insignien einer nationalen Autorität ausgezeichnet. ..." (Umberto Eco) - gefunden bei Ranga Yogeshwar


    Und ganz aktuell: "Selbst Zwerge werfen lange Schatten, wenn die Sonne der Kultur tief steht" (Karl Krauss)

  • Zitat von samci;5758

    Schön schön... aber eine Wertung zu meiner Lösung ist das nicht, oder? Weil, anscheinend gehts wohl auch mit SysCP-Modifikation nicht so ohne weiteres besser... ???


    Nicht wirklich, wollts nur gesagt haben. Du hast es im Endeffekt eh fast genauso gemacht :)
    Syscp ist halt leider nicht das gelbe vom Ei, aber das ist ja kein Verwaltungspanel :o



    MfG Christian
    ---
    PS: Ich habe oben noch zwei Zeilen reineditiert.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Danke auch für die Sperr-Tips, hatte die Befehle gar nicht gekannt und erst nicht gewußt ob das Linux- oder PHP-spezifische Befehle sind, habs aber nun nachgeschaut. Werd die dann mal lahmlegen. Geht in der php.ini, wenn ich mich recht entsinne, oder? Einfach mit Komma und Leerzeichen getrennt zusammen in Anführungszeichen auflisten?

    "... Das Fernsehen präsentiert als Ideal den totalen Durchschnittsmenschen. ...der Zuschauer sieht das Abbild seiner eigenen Beschränktheit glorifiziert und offiziell mit den Insignien einer nationalen Autorität ausgezeichnet. ..." (Umberto Eco) - gefunden bei Ranga Yogeshwar


    Und ganz aktuell: "Selbst Zwerge werfen lange Schatten, wenn die Sonne der Kultur tief steht" (Karl Krauss)

  • Sooooo..... ein paar andere Verbesserungen haben auch noch ein paar Fragen aufgeworfen, aber hier mal diese zum vorigen Hinweis zuerst:
    In der php.ini kommt "disable_functions" zweimal vor, das eine Mal davon am Ende und mit Inhalt. Wenn ich jetzt beim ersten Vorkommen die entsprechenden Befehle einfüge, wrid das dann beim 2. Vorkommen am Ende wieder außer Kraft gesetzt? Hab grad kein Skript, mit dem ich das über alternative Befehle wie readfile() etc. testen könnte.


    ??


    Grüße
    samci

    "... Das Fernsehen präsentiert als Ideal den totalen Durchschnittsmenschen. ...der Zuschauer sieht das Abbild seiner eigenen Beschränktheit glorifiziert und offiziell mit den Insignien einer nationalen Autorität ausgezeichnet. ..." (Umberto Eco) - gefunden bei Ranga Yogeshwar


    Und ganz aktuell: "Selbst Zwerge werfen lange Schatten, wenn die Sonne der Kultur tief steht" (Karl Krauss)

  • der untere Teil ist der Teil mit dem Syscp Arbeitet. da müßte auch irgendwo drüber stehen das diese Eintragungen vom SysCP gemacht wurden.
    Du mußt das natürlich dann dementsprechend unten eintragen.



    MfG
    Andre