[gelöst] Bug?: Admin kann sich selber löschen [Phenomän wurde aufgeklärt]
am 15.02.2009 - 00:35 Uhr in
Hallo,
ich hatte mal vor einiger Zeit einen kleinen Drupal-Check gemacht und da ich mehr oder weniger einige Sachen teste fand ich folgenden Fehler: Wie jeder weiß kann man Benutzer löschen, die Sache ist, dass man auch den Admin, also sich selber, löschen bzw. auch sperren kann. Leider weiß ich nicht, ob diese Funktion gewollt ist, nur das Problem wird sein, sobald das Admin-Konto deaktiviert bzw. eher gelöscht wird, kann man sich logischerweise auch nicht einloggen da der Benutzer mit Adminrechten ja nicht mehr existiert. Bei phpBB wurde soweit ich weiß eine Art Schutzfunktion eingebaut die es verhindert dass sich der Admin selber löschen kann. Weiß einer mehr über dieses Problem bescheid?
Da ja Drupal 7 demnächst vor der Tür steht, und ich noch nicht weiß ob dort schon eine Schutzfunktion existiert, wollte ich euch Fragen ob es eventuell dort eine Schutzfunktion geben bzw. existieren wird.
- Anmelden oder Registrieren um Kommentare zu schreiben
naja ein Bug, das ist
am 15.02.2009 - 13:57 Uhr
naja ein Bug, das ist höchstens ein fehlendes Feature
für drupal7 gibts es aber eine issue: http://drupal.org/node/46149
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
It's not a bug, it's a feature
am 15.02.2009 - 14:01 Uhr
Man kann den Benutzer 1 löschen, weil das lange Zeit kein Problem war. Wer Drupal verwendet hat, der kannte sich auch mit Datenbanken aus und wusste wie er den Benutzer manuell wieder erstellen konnte.
Das hat sich mittlerweile geändert und es wird daran gearbeitet, das der Benutzer 1 nicht gelöscht werden kann. siehe dazu Disallow deletion of user 1. Ist für Drupal 7 angedacht. In der Zwischenzeit kann man sich mit User Protect und Protect Critical Users behelfen.
--
It was never a bug, it was allways a feature :D
am 16.02.2009 - 01:53 Uhr
Vielen Dank für die Infos.
Leider hätte ich im englischen Sektor die Problematik bestimmt nicht wirklich gefunden, damit wäre erstmal das Problem soweit vom Tisch :-)
Ich werde später den Mod mal testen.
OK, wenn man sich in der DB soweit auskennt, kann man den Benutzer auch wiederherstellen, aber dazu muss man wiederum in der DB rumwühlen und so ;-)
Gruß
Alex
nur ein Nachtrag
am 10.09.2010 - 16:24 Uhr
Ich hole das noch mal hoch, weil ich finde daß die Aussage
Wer Drupal verwendet hat, der kannte sich auch mit Datenbanken aus und wusste wie er den Benutzer manuell wieder erstellen konnte.
die Ansprüche eines Webmasters an eine Software für große Communities nicht ausreichend berücksichtigt, denn ich möchte doch als Seitenbetreiber Admins "einstellen" können, die zwar andere Konten sperren oder löschen können sollen, aber bittesehr nicht meins. Und in einem CMS, das für sich in Anspruch nimmt, das Community-CMS zu sein, darf eine entsprechende Schutzfunktion "ab Werk" auf keinen Fall fehlen.
Übrigens schließt User protect genau diese Lücke nicht (oder ich habe es falsch bedient) - denn es hat einen entscheidenden Denkfehler in seiner Regel-Hierarchie: Erlaubt geht vor verboten. Sobald jemand "administer users" hat, überschreibt das alle anderen Schutzeinstellungen. Ich habe eine Rolle "Admin", die hat "administer users" Rechte. Wenn ich root nun zu den geschützten Benutzern hinzufüge und alle Optionen aktiviere, kann mein User-Admin trotzdem root bearbeiten. :-( (Falls jemand sagen will "das geht doch, und zwar so" - dann mal raus damit ;))
Protect critical users fällt auch aus: Es interferiert mit "User delete", und ich kann, zumal in Deutschland, und will auch keine Community anbieten, in der sich ein User nicht selbst löschen darf.
Also werde ich wohl selbst ran und was schnelles schmutziges basteln...[Edit:]done. Letzteres Modul ein wenig umgefriemelt und geht. Nur, falls jemand mal sucht, einfach melden.
Hallo, ich habe gelesen das
am 06.10.2010 - 18:28 Uhr
Hallo,
ich habe gelesen das Du das Modul "user delete" umgebastelt hast, so das sich ein Benutzer selber löschen kann,
bin auch schon lange auf der Suche nach so einem Modul.
LG t-u-x
User delete
am 06.10.2010 - 21:27 Uhr
Hallo!
Zunächst muß ich ein Mißverständnis aufklären (oder zwei).
Das Modul user_delete ist von Hause aus dafür da, um Benutzern das Löschen des eigenen Accounts zu ermöglichen. Wenn es nur das ist, was Du machen möchtest, brauchst Du nur "user_delete" zu installieren.
Im weiteren Verlauf dieser Diskussion ging es aber um das Löschen des Superusers ("root", uid=1). Im Grunde kann das nämlich jeder, der die entsprechenden Berechtigungen hat. In meinem Fall ging es dann darum, daß ich zwar möchte, daß andere Benutzer genug Rechte bekommen, um "gewöhnliche" Benutzer löschen zu können ("Polizeifunktion"), aber eben nicht (systemkritisch) den User 1.
Da das Modul "protect critical users" sich nicht mit dem Modul "user_delete" verträgt, habe ich es geringfügig verändert, sodaß ich nun beide Module zugleich einsetzen kann. Mir ging es nur um User 1, daher habe ich es reduziert und in "protect_root" umbenannt. Ich habe es mal als Zip-Datei angehängt.
Bitte als Alpha-Version betrachten. Benutzung ohne Gewehr und sonstige Schußwaffen, auf eigene Gefahr usw. usf., ist klar.
Ich hoffe, ich konnte helfen!
Protect Root - deutschsprachiges Sprachpaket (Du + Sie)
am 21.10.2010 - 21:13 Uhr
Hallo,
ich war ja lange schon nicht mehr hier...
Ich habe mal dein Modul installiert, aber noch nicht getestet.
Ich habe das Modul mal eingedeutscht :D waren ja nicht so viele Abschnitte, konnte da nur 4 finden ;-)
Wünsche mit der inoffiziellen Übersetzung noch viel Spaß und hoffe dass die Übersetzung sinngemäß ist :-)
Nachtrag
edit und delete können nicht übersetzt werden da es anscheinend keinen String dafür gibt.
Jetzt steht da Sie können dieses Konto nicht edit! wäre nett, wenn du das Modul anpassen könntest.
Neu
Das Sprachpaket gibt es in der "Du" und "Sie" Variante :-)
Alles weitere nun unten
Hi, klasse - ich kann zwar
am 21.10.2010 - 10:15 Uhr
Hi,
klasse - ich kann zwar halbwegs programmieren, aber für diese ganzen Dinge wie PO-Dateien oder auch nur "ein Modul veröffentlichen und dafür sich in CVS einarbeiten" bin ich einfach zu faul momentan. (Leider findet sich keiner, der mir mal eben sagt "1. das installieren, 2. jenes eingeben, 3. dies und das", oder mir sagt wo es so ein Kochbuch gibt, wo man sich nicht durch 20.000 Dokus durchwursteln muß.)
Ich schau später mal, warum das mit dem @action nicht funktioniert, denn bei mir tut's das. Kann daran liegen, daß "edit" und "delete" bereits in meiner Inst lokalisiert waren und ich nicht dran gedacht habe. Muß mal schauen.
Danke für die Mithilfe und ach so, offenbar hast Du ja getestet, klappts?
Wäre nicht schlecht wenn noch ein paar andere das mal testen würden. Ich würds eigentlich auch gerne wirklich offiziell veröffentlichen, siehe oben...
Hallo, und zwar habe ich nun
am 21.10.2010 - 19:32 Uhr
Hallo,
und zwar habe ich nun einen Benutzer mit der ID 2 und dieser hat sozusagen Admin-Rechte. Soweit ich es an testen konnte, funktioniert der Mod :-)
So, erst wollte ich eine if-Abfrage reinbasteln, das scheiterte, nun habe ich mir mal die
'@action' => $matches[2]
angesehen, habe mal folgendes gemacht
'@action' => t($matches[2])
und nun wird auch der Test übersetzt :-)
Schönheitsfehler?
Wenn root direkt gelöscht werden soll, erscheint nicht so was wie
Sie können dieses Konto nicht löschen!
sondern
Das Administrationskonto kann nicht durch andere Benutzer geändert werden!
Finde das ein wenig komisch, oder kommt die Meldung nur, wenn root eingeloggt ist?
So, getestet. Root kann sich bearbeiten, aber beim Versuch der direkten Löschung kommt ebenfalls die gleiche Meldung:
Das Administrationskonto kann nicht durch andere Benutzer geändert werden!
Nun noch eine Sache. Der Root kann sich aber zumindest deaktivieren, vielleicht sollte man da auch noch was mit reinbauen, sonst steht der Root vor der Tür und muss sich ggf. in der DB wieder aktivieren.
Nachtrag
Habe eben diese Funktion eingefügt, klappt jetzt auch :-) aber nur in der Übersicht leider noch nicht :-(
Ha, also bevor wir das jetzt
am 21.10.2010 - 19:38 Uhr
Ha, also bevor wir das jetzt hier in den Kommentaren weitermachen, wollen wir das nicht dann doch mal "ordentlich" bei .org hochladen?
(Jetzt weiß ich übrigens auch, wie man problemlos auf ein Dutzen issues an einem Tag kommt, das hat mich bisher immer etwas erstaunt ;))
Modul
am 22.10.2010 - 00:23 Uhr
Tja, da du den Anfang gemacht hast, wäre doch toll wenn das angepasste Modul hoch geladen werden würde :-)
Ich habe aber was in den Code noch angefügt, "block", weiteres ging erst mal nicht, die Übersetzungen wurden auch angepasst.
Naja, ich hänge mal das Modul mit der gleichen Versionsnummer und die Sprachdateien hier an und nehme sie oben raus und wenn es offiziell ist, dann sowieso ;-)
Wie
Dutzen issues
?
Ist in der deutschen Sprache eh irgendwie komisch, dass es im deutschen "Du" und "Sie" gibt, aber das ist Deutschland :D woanders ist es egal, denke ich. Beispiel Englisch und anderen Sprachen...
Aber da ich gerade ein wenig Spaß an der Sache habe, kommt die Sprache auch noch in dritter Person :D etc., ist eh nur ein Einzeiler ;-)
Naja, habe mal mit google noch andere Sprachen übersetzt, sollte wenn das Projekt steht, eh noch mal geprüft werden.
Da es noch nicht auf
am 31.10.2010 - 21:38 Uhr
Da es noch nicht auf Drupal.org ist, hänge ich hier eine aktuellere Version an.
Version 0.2
scheint stabil zu sein.
Änderungen: Das Optionsfeld beim Admin wird ausgeblendet (deaktiviert)
Version 0.3-Alpha1
Bug: Leider ist da mal wieder ein Bug drin (Header) und es treten die berühmten "weißen" Seiten auf.
Änderungen: Das Optionsfeld beim Admin wird ausgeblendet (deaktiviert) oder kann deaktiviert angezeigt werden, wobei der Wert noch nicht abgefragt wird.
* warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/xxx.xx/htdocs/sites/all/modules/protect_root/protect_root.module:1) in /var/www/virtual/xxx.xx/htdocs/includes/session.inc on line 99.
* warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /var/www/virtual/xxx.xx/htdocs/includes/session.inc on line 102.
Änderungen können in der Liesmich.txt nachgelesen werden.
Für Drupal 7 gibt es leider noch kein Modul.
Wieder "da"
am 16.03.2011 - 01:38 Uhr
Hey, ich war dann doch etwas länger "off", aber wie ich sehe warst du ja nicht untätig inzwischen. Was hast du noch schönes eingebaut?
Wie sieht's aus, wollen wir das mal gelegentlich[tm] bei drupal.org einbauen? Ich suche gerade mit nem anderen Modul schon einen Co-Maintainer, der mir auch bei den ersten Schritten dafür hilft, aber gemeinsam ist man ja stärker. Kannst ja mal bescheidgeben.