Dateierzeugung mit Besitzerrechten

  • Jodu Jodu
    T3PO
    0 x
    16 Beiträge
    0 Hilfreiche Beiträge
    29. 10. 2004, 18:17

    Hallo!

    Vielleicht kann mir jemand die Funktionsweise von Typo3 bzgl meinem Problem näher bringen. Siehe dazu folgenden Thread:
    http://www.typo3.net/viewtopic.php?t=17423

    Mein Provider sagte mir, dass die Dateien, die für Photobook installiert wurden, dem Apachebenutzer (wwwrun) gehören und nicht meinem Benutzeraccount. Er hat jetzt mir die Besitzrechte übertragen und nun funktioniert alles wieder.

    Aber ich habe ja 1. das Photobook schon länger installiert (und andere Extensions auch) und bisher traten nie die Probleme auf. Und 2., wie kann ich sicherstellen, dass von Typo3 erzeugte Dateien in Zukunft "mir" gehören und nicht dem System?
    Kann das Problem damit irgendwie zusammenhängen, dass von einer Subdomain auf das Typo3-Verzeichnis verlinkt wird?
    Muss was bei "All Configuration->usePHPFileFunctions" berücksichtigt werden?

    Ich bin nicht so fit in UNIX, will aber zukünftig nicht jedes Mal meinen Provider bemühen, wenn ich eine neue Extension installiere.

    Vielen Dank schon mal im voraus für eure Hilfe!


  • 1
  • barthel barthel
    Sternenflotten-Admiral
    0 x
    228 Beiträge
    0 Hilfreiche Beiträge
    30. 10. 2004, 07:09

    Folgendes habe ich dazu gefunden:
    [url]http://typo3.org/documentation/mailing-lists/german-user-list-archive/thread/56584/?tx_maillisttofaq_pi1%5Bsword%5D=safe%20mode%20datei%20rechte&tx_maillisttofaq_pi1%5Banswered_only%5D=0&tx_maillisttofaq_pi1%5Bmode%5D=1[/url]

    Vielleicht bekommt man mit ein wenig PHP Konfiguration noch einen eleganteren Weg hin.

    Achso:
    Ein suid Bit kann man wie folgt recursive (-R) auf ein Verzeichnis setzen:

    [code:1:6ac17cc310]chmod -R +s /var/www/...[/code:1:6ac17cc310]

    Ein Manual zum Safe Mode von PHP ist hier zu finden:
    [url]http://de3.php.net/features.safe-mode[/url]

    Jeder, der seinen Server in Sachen PHP selbst konfigurieren kann, sollte sich das mal zu Gemüte führen. In diesem Zusammenhang könnte die Option:
    [quote:6ac17cc310]safe_mode_gid boolean

    By default, Safe Mode does a UID compare check when opening files. If you want to relax this to a GID compare, then turn on safe_mode_gid. Whether to use UID (FALSE) or GID (TRUE) checking upon file access. [/quote:6ac17cc310]
    interessant sein. Damit wird nicht mehr die UserID sondern 'nur noch' die GruppenID der Dateien überprüft.

  • Alegria Alegria
    T3PO
    0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    30. 10. 2004, 08:57

    chmod -R +s /var/www/...
    Das scheint mir aber eine schlechte Idee zu sein. So wie ich es verstehe hat dann ja alles was ausführbar ist root Rechte im Verzeichnis http://www. Sicherheitstechnisch doch fatal.

    Ein Grund SAFE MODE zu benutzen ist doch zu verhindern das ein Nutzer auf Funktionen des anderen Zugriff erlangen kann. Die Nutzer gehören aber meist einer Gruppe an, www oder so. mit safe_mode_gid = on kann man php gleich ohne SAFE MODE laufen lassen, meine ich.
    Gruß
    Jens

  • barthel barthel
    Sternenflotten-Admiral
    0 x
    228 Beiträge
    0 Hilfreiche Beiträge
    30. 10. 2004, 09:53

    Um hier Mißverständnisse zu vermeiden...
    Aus meinem "Linux Anwender Handbuch" von 1997 ;-):
    ISBN: 3-929764-06-7
    [quote:06bc413fc2="Seite 329f"]
    ...
    Der Eigentümer einer Programmdatei kann deshalb den Ausführungsmodus einer Programmdatei so verändern, daß das Betriebssystem den daraus entstehenden Prozeß mit seiner effektiven User-ID oder mit der effektiven Group-ID seiner Benutzergruppe ausführt. Der Prozeß einer Programmdatei mit S_Modus hat damit die Rechte des Eigentümers (beziehungsweise der Gruppe) der Datei. Damit hatso ein Prozeß die Freiheit, in beiden Bereichen zu arbeiten.
    ...
    Besonderheiten für Verzeichnisse:
    ... der Eigentümer eines Verzeichnis kann bestimmen, daß die in diesem Verzeichnis erzeugten Dateien der gleichen Benutzergruppe gehören wie das Verzeichnis selbst.
    ...Es ist zwar möglich, auch bei einem Verzeichnis den S_Modus für den Eigentümer zu setzen, diese Einstellung hat aber keine Wirkung. Das Betriebssystem erlaubt es den Usern nicht, Dateien an andere User "zu verschenken".
    [/quote:06bc413fc2]

    Also: Nur wenn 'root' als Partner bei diesem Spiel auftritt, gibt es Schwierigkeiten in Bezug auf das SUID.
    Vielleicht war das:
    [code:1:06bc413fc2]chmod +s /var/www[/code:1:06bc413fc2]
    entwas schnell geschossen.
    Allerdings prüft sfe_mode_gid = 0 nunmal die UID.
    Bei Systemen mit confixx z.B. habe ich erst gestern wieder folgende Konstellation gesehen:
    /var/www/web1/html -> UID:web1 GID:ftponly der Apache läuft unter: www-data
    Da kommst du mit der Prüfung auf die UID nicht weiter. Hier hilft nur die GID weiter.

    Denn:
    Legt der Apache eine neue Datei im o.g. Umgebung an, bekommt diese automatisch UID:www-data und GID:www-data
    Wird nun versucht via Typo3 (PHP) auf diese Datei zuzugreifen, muß es fehlschlagen mit safe_mode_gid = 0.
    Ist aber das SGID für das /var/www/web1 gesetzt, so wird der Apache die neue Datei mit den Rechten UID: www-data und GID: ftponly anlegen.
    Somit hast du zumindest mit safe_mode_gid = 1Zugriff auf diese Datei.

    Oder habe ich mich da jetzt verirrt ? ;-)

  • Alegria Alegria
    T3PO
    0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    30. 10. 2004, 11:24

    Ich hab Confixx und safe_mode und wenn ich als nutzer per
    ftp Dateien nach Typo3 übertrage, gehören sie dem Benutzer, und der Gruppe ftponly an und dann kommen die gleichen Meldungen wie bei Jodu.
    Ich muss in diesem Fall die Besitzverhältnisse auf den Apacheuser übertragen, damit es läuft.
    Typo3 läuft bei mir als Apacheuser. Übertrage ich Dateien mit den Typo3 Werkzeugen gibt es kein Problem mit den Besitzverhältnissen.
    Ich hätte es auch gerne, wenn der Benutzer Typo3 Dateien per ftp übertragen kann.
    Es wäre ein Idee, die Nutzer in die Gruppe www wie der Apacheuser zu nehmen und die relax Option safe_mode_gid = On zu stellen. Dann dürfte auch alles mit ftp gehen.
    Nur was ist mit der Sicherheit wenn die Nutzer der Apachegruppe angehören?
    Es muss ja einen Grund haben, das die nicht in der gleichen Gruppe sind.

    Ich hab schon mal versucht die ftp uploads im ftp (vsftp) Programm so einzustellen das sie im Besitz des Apache sind. Bin dabei aber am Confixx gescheitert.
    Gruß
    Jens

  • barthel barthel
    Sternenflotten-Admiral
    0 x
    228 Beiträge
    0 Hilfreiche Beiträge
    30. 10. 2004, 11:33

    [quote:d2f18215bd="Alegria"]Nur was ist mit der Sicherheit wenn die Nutzer der Apachegruppe angehören?
    Es muss ja einen Grund haben, das die nicht in der gleichen Gruppe sind.
    [/quote:d2f18215bd]

    Wenn du web1, web2 usw. als verschiedene voneinander unabhängige Kunden verstehst, hieße eine Mitgliedschaft in der Apachegruppe, daß jeder bei jedem lesen und/oder schreiben könnte.
    Das wäre fatal. Sinnvoller wäre es den Apache in die einzelnen Gruppen als Mitglied mit aufzunehmen; allerdings wird das wohl confixx in Sachen administrierbarkeit nicht wollen.

    Ich muß dazu sagen, das ich confixx sofort von meinem Rechner verbannt habe und somit keinen Einblick in diese Interna hebe #giggle#

  • Alegria Alegria
    T3PO
    0 x
    24 Beiträge
    0 Hilfreiche Beiträge
    30. 10. 2004, 12:35

    Hoi
    Ich hab es mal probiert. Hab safe_mode_gid=On und dem Apache der Gruppe ftponly zugeordnet:
    in /etc/group
    ftponly:x:108:wwwrun
    Das gid relax flag wirkt sich auch aus wenn ich den Besitzer von wwwrun auf web0 ändere geht Typo3, was vorher nicht ging. Ändere ich die Gruppe von www auf ftponly gehts aber nicht mehr.
    Irgendwas fehlt noch.
    Gruß
    Jens

  • 1