Extremer Mangel in Drupals Benutzerverwaltung! [gelöst]
![](https://www.drupalcenter.de/files/imagecache/upic_mini/pictures/picture-110.jpg)
am 16.03.2008 - 17:31 Uhr in
Ich rede hier nicht von einem Bug sondern von einer fehlenden Funktionaltät.
Der kleinste gemeinsame Nenner bei Drupals Benutzerverwaltung ist die Vergabe des Rechtes der Benutzerverwaltung. D. h., entweder ein Benutzer kann oder kann nicht Benutzer verwalten.
Wenn aber ein Benutzer das Recht der Benutzerverwaltung hat DANN KANN er auch den First-User administrieren. Genau das ist der extreme Mangel in Drupals Benutzerverwaltung.
Was also fehlt ist die Möglichkeit, bestimmte Benutzer von der allgemeinen Benutzerverwaltung auszuschliessen.
- Im einfachsten Fall sollte der First-User generell von der allgemeinen Benutzerverwaltung ausgeschlossen sein. Soll heissen, nur der First-User selbst kann sich administrieren.
- Im erweiterten Falle sollte es die Möglichkeit geben, bestimmte einzelne Benutzer oder eine Rolle von der allgemeinen Benutzerverwaltung auszuschliessen. Auch bei dieser Variante kann nur der First-User die von der allgemeinen Benutzerverwaltung ausgeschlossenen Benutzer bzw. Rolle administrieren.
Um Missverständnisse oder unnötige Disskusionen auszuschliessen:
Ich rede im Zusammenhang mit dem angesprochenen Mangel nicht von Lieschen Müller's Homepage sondern von Websites mit vielen Usern bei denen einzelne User mit der Benutzerverwaltung beauftragt werden.
Eventuell habe ich auch etwas übersehen und es gibt ein Modul das diesen Mangel behebt. Wenn dem so ist bitte ich um Info und in diesem Falle betrachtet meinen Post hier als gegenstandslos.
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich habe eine Loesung
am 16.03.2008 - 20:35 Uhr
Ich habe eine Loesung gefunden. Zumindest in der Form das sich der First-User nur noch selbst bearbeiten (und loeschen) kann. Allerdings ist diese Loesung ein kleiner Hack vom Usermodul.
Falls es Jemanden interessiert kann ich den Hack gern posten.
Ich muss mich an der Stelle nochmal wundern, das standardmaessig Drupals Benutzerverwaltung wie oben geschildert funktioniert.
Es gibt auf drupal.org eine Diskusion dazu (hat sich doch tatsaechlich Jemand gewagt zu fragen - nein es war ein konkreter Vorschlag).
Die wurde dem Fragenden gegenueber mit der Argumentation abgewuergt was er denn eigentlich mit dieser Fragestellung (mein geschilderter Mangel) wolle. Denn selbst wenn man diese Funktionalitaet, den First-User innerhalb der Drupal-Administration nicht loeschen zu koennen, implementieren wuerde koennte man ja schliesslich per DB-Zugriff den First-User ebenso bearbeiten oder loeschen.
Naja, kann ich da nur sagen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
User 1
am 16.03.2008 - 21:04 Uhr
Kannst du mal den Link zur Diskussion posten?
Einerseits hast du recht, aber es gibt ja auch immer eine andere Seite der Medaille.
Was ist, wenn User 1 (Gott) gelöscht werden soll. Das ist z.B. denkbar, wenn man eine feiner gesteuerte Rechtevergabe haben möchte. Also eben nicht einen User ohne explizite Rolle (die gibts für user 1 ja nicht), der alles darf. Sondern wirklich ein Rollensystem mit Administrator, Redakteur usw. usw.
Und niemand darf alles.
Ist doch denkbar, oder?
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
User #1 ist tot
am 16.03.2008 - 23:17 Uhr
Nene, md.
Du hast mich nicht ganz verstanden,
Ich spreche von einem System mit den verschiedensten Rollen wie Redakteur, Moderator, usw. Bei dem usw. gibt es aber noch eine Rolle: Verwaltung.
Diese Rolle ist zustaendig fuer die Verwaltung aller sich registrierenden User und kann auch selbst neue User anlegen und ihnen verschiedene Rollen zuweisen und auch sonst alles tun was beim Administrieren eines Users notwensig sein kann.
Aber diese Rolle "Verwaltung" soll nicht den User #1 bearbeiten oder loeschen koennen.
Um auf Deine Fragen einzugehen:
Ich gehe davon aus das User #1 im Normalfall nicht geloescht wird. Sollte es doch erforderlich sein, User #1 ist ploetzlich tot oder so und Niemand kennt seine Zugangsdaten, dann bleibt der Griff zur DB. Der Griff zur DB ist aber nicht das normale Tagesgeschaeft einer Drupalsite.
Und ich verstehe nicht, was das Loeschen von User #1 mit der Moeglichkeit einer feineren Rechtevergabe zu tun haben soll.
Wenn ich Dich richtig verstehe, so kann man erst dann eine feinere Rechtevergabe mit unterschiedlichen Rollen aufsetzen wenn User #1 geloescht wird?
PS
Den Link zu dem erwahnten Thread muesste ich wieder raussuchen. Ist aber bissel problematisch, da ich in den letzten Stunden extrem viel auf drupal.org recherchiert habe (Browserhistory laeuft ueber) und ich den Tab auch nicht mehr offen habe.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Benutzerverwaltung - Stand einer frühen Entwicklungsphase
am 17.03.2008 - 03:44 Uhr
Eigentlich ist die Problematik von Drupal's Benutzerverwaltung noch viel krasser.
Soll es zum Beispiel einem Benutzer, der mit einem Teil der Benutzerverwaltung betraut wird, ermöglicht werden bestimten Benutzern die Eine oder die Andere Rolle zuzuweisen so ist, um dies zu ermöglichen EIN EINZIGER Rechtepunkt zuständig.
Es ist die Erlaubnis "Zugriffskontrolle verwalten" bzw. "administer access control".
Wird dies aber diesem Benutzer ermöglicht hat er nicht nur Zugriff auf die Verwaltung der Rollen sondern AUCH auf das gesamte Rechtesystem. Er kann also beliebig in den Rechten konfigurieren und sich am Ende fehlende Rechte selber zuteilen.
Das ist so handhabbar ein unhaltbarer Zustand.
Wenn ich diesen Thread betrachte komme ich zu der Schlußfolgerung, das man Drupal für Websites mit der Anforderung einer differenzierten Benutzerverwaltung nicht empfehlen kann.
Genau genommen ist die Funktionalität der Benutzerverwaltung bei Drupal auf dem Stand einer frühen Entwicklungsphase stehen geblieben und entspricht in keinster Weise Anforderungen, die Drupal mit dem Anspruch als eines der besten CMS stellt!
Will Drupal wirklich einen Schritt in die Zukunft machen muss an der Benutzerverwaltung ganz kräftig verbessert werden.
PS
Ich spreche von Drupal 5.
Edit
Mit Drupal 6 hat sich nichts geändert.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Rollen und Rechte
am 17.03.2008 - 10:15 Uhr
Und ich verstehe nicht, was das Loeschen von User #1 mit der Moeglichkeit einer feineren Rechtevergabe zu tun haben soll.
Wenn ich Dich richtig verstehe, so kann man erst dann eine feinere Rechtevergabe mit unterschiedlichen Rollen aufsetzen wenn User #1 geloescht wird?
Nein, das meinte ich nicht. Es ging mir nur darum zu hinterfragen, ob es nicht durchaus Situationen geben kann, in denen irgendwer möchte, dass es nicht einen Benutzer geben soll, der alles darf. Und dann würde man user 1 löschen wollen.
Es gibt ja nichts, das user 1 darf, was man nicht vorher auch einer anderen Rolle zuweisen kann. Z.B. der von dir erwähnten Rolle 'Verwaltung'.
Ich bin nicht der Meinung, dass es sinnvoll wäre user 1 zu löschen, aber wenn alle seine Rechte an andere Rollen vergeben wurde, wäre es auch kein Problem.
Insofern kann ich auch dein Problem nicht verstehen. Jemand der was auch immer löschen darf, kann auch immer Fehler machen, z.B. user 1 löschen. Aber auch user 5 löschen, der zufällig zur Rolle 'Chef' gehört, die alles darf!
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
Das mit der Nutzerverwaltung
am 17.03.2008 - 10:26 Uhr
Das mit der Nutzerverwaltung ist mir auch aufgefallen. Bei einer Seite haben wir einen User der die Rollen anderer User verwalten soll. Als ich ihm diese Möglichkeit gab, hatte ich auch arge Sorgen, denn ein kleiner Fehler kann eine Menge Probleme machen. User können gelöscht werden, Rollen falsch definiert und zugewiesen werden.
Ich geb dir da also völlig recht, dass das viel differenzierter behandelt werden muss. Erstaunlich, dass das bisher noch niemandem aufgefallen ist bzw. gestört hat. Aktuell hab ich in der Pipeline ein Projekt wo das Thema ganz heiß wird und ich geb zu dein Thema hier macht mir ein wenig Angst.
Ich hoffe, dass ich mit Hilfe eines eigenen Moduls einen Weg finde, dass ganze anzugehen.
@kev52,ich arbeite gerade
am 17.03.2008 - 12:47 Uhr
@kev52,
ich arbeite gerade an einer Site, bei der ein Benutzer (hat eine bestimmte Rolle) mit der Aufgabe betraut wird die "ankommenden" sich frisch registrierten Benutzer zu verwalten. Unter anderem werden diese "Frischlinge" bei Erfuellung bestimmter Gegebenheiten, die erst zu erfuellen und zu pruefen sind, einer anderen Rolle (mit erweiterten Rechten) zugeordnet.
Und vor dieser simplen Konstellation scheitert zunaechst das vom Auftraggeber angedachte Konzept und ich habe ein Riesenproblem, ihm das empfohlene Super-CMS Drupal zu konfigurieren. Ich kann ihm die Problematik auch gar nicht erklaeren. Weil er sie nicht versteht.
Um die voran beschriebene Aufgabe zu loesen ist es nicht damit getan ein paar Zeilen Code neu zu arrangieren.
Es muss ein etwas umfangreicherer Eingriff in das user.module erfolgen. Eigentlich muesste auch die bootstrap.inc erweitert werden.
Es ist zukuenftig wohl auch nicht die Loesung, das Problem mit einem zusaetzlichen Modul zu realisieren. Die Loesung dieses Problems gehoert in den Core von Drupal.
Ich habe mir Roadmap-Diskussionen von D7 durchgelesen (D6 hat das gleiche Problem mit der Benutzerverwaltung wie D5). Von einer Diskussion zum Theme Usermanagement ist nichts zu finden. Da wirkt es fast schon laecherlich wenn man Drupal zum Wordpresskiller machen will.
Um meine oben beschriebene Aufgabe loesen zu koennen habe ich nun angefangen das user.module umzuschreiben. Bis Jetzt scheint es auszureichen, nur an der Moduldatei user.module Aenderungen einzuarbeiten.
Momentan bin ich erstmal zu dem Punkt gekommen, das eine bestimmte Rolle (z. Bsp. "vip user") einzelnen Benutzern zugewiesen wird und deren Mitglieder (inclusive User #1) nicht mehr generell in der Benutzerverwaltung bearbeitet werden koennen.
Als Naechstes steht an, die Moeglichkeit der Rollenvergabe granularer zu steuern. D. h., nur einzelne dafuer vorgesehene Rollen koennen vom Benutzerverwalter an "frisch" registrierte Benutzer zugeordnet werden.
Die Arbeit am user.module ist nicht ganz ohne da man extrem aufpassen muss, keine Berechtigungs-Loecher in das System zu reissen.
@md,
da Du so gerne den User #1 killst:
Hast Du schon mal davon gehoert das man auf einem Linux-Server den User root loescht um mit dem Server weiterarbeiten zu koennen.
Und glaubst Du es ist ueblich, dass in groesseren Firmen der Personalleiter in den Dingen der Finanzabteilung rumfummeln kann oder in der Chefetage freien Zugang zu den internen Unterlagen hat?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
quiptime schrieb @md, da Du
am 17.03.2008 - 14:22 Uhr
@md,
da Du so gerne den User #1 killst:
Hast Du schon mal davon gehoert das man auf einem Linux-Server den User root loescht um mit dem Server weiterarbeiten zu koennen.
Und glaubst Du es ist ueblich, dass in groesseren Firmen der Personalleiter in den Dingen der Finanzabteilung rumfummeln kann oder in der Chefetage freien Zugang zu den internen Unterlagen hat?
-------------
quiptime
Richtig lesen. Ich hab geschrieben, dass ich das nicht für sinnvoll erachte.
Und das der Personalleiter in den Dingen der Finazabteilung fummeln darf, glaub ich auch nicht.
Aber der Chef darf das schon. Und das hatte ich geschrieben.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
User protect
am 17.03.2008 - 14:38 Uhr
Das mit der Nutzerverwaltung ist mir auch aufgefallen. Bei einer Seite haben wir einen User der die Rollen anderer User verwalten soll. Als ich ihm diese Möglichkeit gab, hatte ich auch arge Sorgen, denn ein kleiner Fehler kann eine Menge Probleme machen. User können gelöscht werden, Rollen falsch definiert und zugewiesen werden.
Ich geb dir da also völlig recht, dass das viel differenzierter behandelt werden muss. Erstaunlich, dass das bisher noch niemandem aufgefallen ist bzw. gestört hat. Aktuell hab ich in der Pipeline ein Projekt wo das Thema ganz heiß wird und ich geb zu dein Thema hier macht mir ein wenig Angst.
Ich hoffe, dass ich mit Hilfe eines eigenen Moduls einen Weg finde, dass ganze anzugehen.
Dieses Modul sollte das Problem lösen: http://drupal.org/project/userprotect
vg
--
md - DrupalCenter
mdwp* :: Drupal Services
habe Bedenken, User mit Rollenbetreuung zu betrauen
am 17.03.2008 - 14:40 Uhr
Hallo,
ich kann mich quiptime nur anschließen, und weiß nicht, wie es möglich ist, dass (ich nenne die Rolle mal) Nutzerverwalter ihre Aufgabe tun können OHNE die Gefahr, User 1 zu löschen oder ähnliches Ungemach. Und mir wäre viel daran gelegen, die Plattform auf viele Schultern zu verteilen.
Kurzum: im Benutzerbereich sehe ich auch noch Entwicklungsmöglichkeiten (auch wenn ich zugegebenermaßen noch nicht alle dazugehörigen Module getestet habe).
fein gesteuerte Rechteverwaltung ist praktisch unmöglich
am 17.03.2008 - 17:00 Uhr
Das Modul User protect ist ganz nett. Zumindest kann man damit Rollen oder User vor der Administration schützen.
Was dieses Modul aber NICHT löst ist das Thema der Rollenverwaltung.
Somit bleibt meine Aussage in dem wesentlichen Punkt bestehen, das es derzeit keine akzeptable Möglichkeit gibt, die Verwaltung von (ausgeählten) Rollen im Zusammenhang der Userverwaltung einem bestimmten User zu übertragen.
Um überhaupt Rollen zuordnen zu können muss, wie schon gesagt, einem User das Recht der "Zugriffskontrolle" eingeräumt werden. UND exakt hier liegt der riesengroße Mangel an Drupals Benutzerverwaltung.
Wer das Recht der "Zugriffskontrolle" hat besitzt praktisch den Schlüssel um die gesamte Website zu konfigurieren und zu kontrollieren.
@md,
jetzt sage mir bitte wie Du mit der Tatsache der aktuellen Situation der Handhabbarkeit der "Zugriffskontrolle" eine fein gesteuerte Rechteverwaltung lösen willst.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Entwarnung - Drupal ist doch nicht so schlecht
am 17.03.2008 - 17:40 Uhr
Die Kombination der Module
User Protect
http://drupal.org/project/userprotect
UND
RoleAssign
http://drupalmodules.com/module/roleassign
schafft die Basis einer vernuenftigen Benutzerverwaltung im Sinne des von mir Eingangs im Thread geschilderten Problemes.
PS
Erst die Seite http://drupalmodules.com hat mir zu einer effizienten Modulrecherche verholfen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
quiptime schrieb ... Wenn
am 17.03.2008 - 17:45 Uhr
...
Wenn aber ein Benutzer das Recht der Benutzerverwaltung hat DANN KANN er auch den First-User administrieren. Genau das ist der extreme Mangel in Drupals Benutzerverwaltung.
Das war doch dein zentraler Punkt in deinem Eröffnungspost.
Und genau das wird doch durch user-protect verhindert.
vg
--
md - DrupalCenter
mdwp* :: Drupal Services