mderrer: .htaccess group verschachteln / kaskadieren

Hallo liebe Foren-Kollegen,

ich bitte euch um Hilfe bei einem .htaccess-Problem. Ich möchte im Zugriffsschutz gern verschachtelte / kaskadierende Gruppen erstellen.

Konkretes Beispiel aus der .htgroup:

gruppea: michael martin mona diana
gruppeb: gruppea richard sarah

Ziel ist, dass ich nicht alle user der Gruppe A (gruppea) per Hand und einzeln auch der Gruppe B (gruppeb) hinzufügen möchte (mit der Gefahr, dass ich mal einen vergesse), sondern alle user von gruppea auch in gruppeb enthalten sein sollen.

Probiert habe ich bisher das Beispiel wie oben, aber auch

gruppeb: @gruppea ... 

Allerdings haben beide Versuche nicht geklappt.

Gesucht habe ich schon in den Weiten einiger Foren mit den Stichworten .htaccess group verschachteln / kaskadieren / aufbauen / ergänzen ... habe aber nirgendwo etwas dazu gefunden, was sicher auch an meinen Suchbegriffen liegen kann.

Ich wäre euch dankbar für einen konkreten Hinweis zur Lösung, oder auch nur auf die richtigen Suchbegriffe :-)

Hoffnungsvoll schon mal herzlichen Dank!
Matthias

  1. Hallo Matthias,

    ich bitte euch um Hilfe bei einem .htaccess-Problem. Ich möchte im Zugriffsschutz gern verschachtelte / kaskadierende Gruppen erstellen.

    [...]

    Allerdings haben beide Versuche nicht geklappt.

    Vielleicht kann der Apache das auch gar nicht.

    Gesucht habe ich schon in den Weiten einiger Foren mit den Stichworten .htaccess group verschachteln / kaskadieren / aufbauen / ergänzen ... habe aber nirgendwo etwas dazu gefunden, was sicher auch an meinen Suchbegriffen liegen kann.

    Ich wäre euch dankbar für einen konkreten Hinweis zur Lösung, oder auch nur auf die richtigen Suchbegriffe :-)

    Vielleicht hilft dir die (offizielle) Apache-Dokumentation zu AuthGroupFile ja weiter.

    Viele Grüße
    Robert

    1. Hallo Robert,

      selbstverständlich habe ich mit bedacht, dass das der Apache gar nicht kann. Aber wenn, dann wäre das eine sehr nützliche Sache!

      Danke für den Hinweis auf die offizielle Dokumentation. Die Ergebnisse waren über Suchmaschine schon integriert, aber ich werde auch die Docs nochmal direkt prüfen, vielleicht finde ich einen Hinweis.

      Deshalb danke für den Hinweis!

      Nachdem das Prüfen der Docs aber etwas umfangreicher sein dürfte, wäre ich sehr dankbar, wenn jemand einfach nur in seiner / ihrer Erfahrung einen Hinweis findet :-)

      Herzliche Grüße
      Matthias

  2. Hallo und guten Morgen,

    der Basic-Auth vom Apache (".htaccess-Schutz") ist ein Verzeichnisschutz. Das bedeutet, dass die Kapselung pro Verzeichnisebene gilt. Ein Benutzer kann dabei entweder Mitglied mehrerer Gruppen sein, oder selber als Einzelbenutzer Zugriff erlangen oder auch beides.

    Übermittelt werden aber immer nur die Credentials des Users als ein einziger HTTP/s-Request-Header.

    Man kann also nur so eine "Zwiebel" aufbauen, indem man außen herum die globaleren Rechte anordnet und je tiefer man in die Verzeichnisstruktur eindringt, davon nach und nach welche wegnimmt. Das würde bedeuten, dass ein User durch die äußeren Verzeichnisstrukturen noch hindurch kommt, weil er ein passendes Paar "Username:Password" besitzt, aber in ein weiter innen liegendes Verzeichnis nicht mehr hinein darf, weil dafür plötlich andere Rechte (mit einer eigenen .htaccess und .htpasswd, ...) angefordert werden.

    Das System wird dann schnell unübersichtlich.

    Grüße
    TS

    --
    es wachse der Freifunk
    http://freifunk-oberharz.de
    1. Hallo TS,

      MMn. geht es nicht um verschiedene Verzeichnisse, sondern um verschiedene Gruppen.

      In Gruppe B sollen alle Mitglieder der Gruppe A sein und zusätzlich noch Bob.

      Bis demnächst
      Matthias

      --
      Dieses Forum nutzt Markdown. Im Wiki erhalten Sie Hilfe bei der Formatierung Ihrer Beiträge.
      1. Hallo Matthias,

        danke für die Klarstellung, die völlig korrekt wiedergegeben ist. Eine Auth-Kaskadierung durch Platzierung in unterschiedliche Verzeichnisse, ist im Projekt leider nicht möglich, weshalb der Vorschlag von TS auch nicht als workaround dienen kann.

        Herzliche Grüße
        von Matthias an Matthias ;-)

      2. Hallo und guten Morgen,

        MMn. geht es nicht um verschiedene Verzeichnisse, sondern um verschiedene Gruppen.

        In Gruppe B sollen alle Mitglieder der Gruppe A sein und zusätzlich noch Bob.

        Das geht doch, wenn man Gruppe B "außen" anordnet und Gruppe A "innen". Sozusagen im "Inner Circle" fehlt Bob dann einfach. Dazu muss man aber die Verzeichnisebenen nutzen. Sonst wird es witzlos.

        Grüße
        TS

        --
        es wachse der Freifunk
        http://freifunk-oberharz.de
  3. Hallo,

    Ich wäre euch dankbar für einen konkreten Hinweis zur Lösung, oder auch nur auf die richtigen Suchbegriffe :-)

    Realm ist der richtige Suchbegriff. Möglich ists auch, über unterschiedlich benannte Passwortdateien (z.B. user.realm, manager.realm) die Benutzer in Gruppen zu organisieren. So mache ich das beispielsweise.

    MfG

  4. Ziel ist, dass ich nicht alle user der Gruppe A (gruppea) per Hand und einzeln auch der Gruppe B (gruppeb) hinzufügen möchte (mit der Gefahr, dass ich mal einen vergesse), sondern alle user von gruppea auch in gruppeb enthalten sein sollen.

    Dann schreib doch ein Verwaltungsskript, also ein Skript, welches die Einträge in der .htacces, Userdatei, Gruppendatei generiert.

    Zur Äußerung von TS:

    der Basic-Auth vom Apache (".htaccess-Schutz") ist ein Verzeichnisschutz.

    Nein. (Nicht nur.)

    <FilesMatch "^.*LIMITED.*$" >
        AuthType basic
        AuthName "private area"
        AuthUserFile    "/var/www/data/passwd"
        Require         valid-user
    </FilesMatch>
    

    funktioniert.

    1. Hallo und guten Tag,

      Ziel ist, dass ich nicht alle user der Gruppe A (gruppea) per Hand und einzeln auch der Gruppe B (gruppeb) hinzufügen möchte (mit der Gefahr, dass ich mal einen vergesse), sondern alle user von gruppea auch in gruppeb enthalten sein sollen.

      Dann schreib doch ein Verwaltungsskript, also ein Skript, welches die Einträge in der .htacces, Userdatei, Gruppendatei generiert.

      Zur Äußerung von TS:

      der Basic-Auth vom Apache (".htaccess-Schutz") ist ein Verzeichnisschutz.

      Nein. (Nicht nur.)

      <FilesMatch "^.*LIMITED.*$" >
          AuthType basic
          AuthName "private area"
          AuthUserFile    "/var/www/data/passwd"
          Require         valid-user
      </FilesMatch>
      

      funktioniert.

      Und wie verhält sich das in den Verzeichnissen über und unter demjenigen, in dem es vereinbart wurde?

      Grüße
      TS

      --
      es wachse der Freifunk
      http://freifunk-oberharz.de
      1. Hallo und guten Abend,

        alles muss man selber machen ;-)

        Der Objektschutz mit <FilesMatch> gilt so, wie er hier dargestellt wurde, für das Verzeichnis, in dem er vereinbart wurde und für alle darunterliegenden, bis er wieder überschrieben wird. Überschreiben kann man verbieten.

        Darüberliegende Verzeichnisse sind nicht betroffen.

        Grüße
        TS

        --
        es wachse der Freifunk
        http://freifunk-oberharz.de