On Tue, Feb 10, 2004 at 10:22:26AM +0100, Olaf Matyja wrote:
Taw napisał:
Adminow sie rzeczywiscie ustawia UPDATE user SET
user_rigths = 'sysop'
WHERE user_name = 'Nowy admin';, ale nie robi sie tego przez www.
Dokładnie minutę przed Twoim mailem wykonałem tę instrukcję i zadziałała.
SELECT pokazuje, że Reytan ma user_rights='sysop'. Tyle, że nie wiem, czy to
właściwa baza, czy jakaś kopia. Jakiś czas temu ustawiłem w ten sposób
Matbotowi i Robbotowi user_rights='bot' i faktycznie nie widać ich w Recent
Changes.
Dostep SQL jaki przez www maja sysopi jest
read-only, juz chocby dlatego,
ze to po zadnym SSLu nawet nie idzie.
Chyba nie do końca (patrz powyższe próby). A przynajmniej jakąś bazę możemy
zmieniać, choć być może nie tę właściwą.
Gratuluje, znalazles wlasnie dziure w zabezpieczeniach ;-)
Po ktorejs tam z kolei przerobce procedura nawiazujaca polaczenie z baza danych
zaczela uzywac normalnych uprawnien rowniez do polaczen SQL, ktore powinny sie odbywac
na uprawnieniach ograniczonych. Do czasu naprawienia tego bledu SQL jest wylaczony.
Zeby miec
dostep z prawami zapisu
do bazy danych wikipedii trzeba miec kilka hasel i kluczy. Uprawnienia
takie
ma kilkanascie osob, glownie pracownicy Bomisu
oraz developerzy software'u
Wikipedii, m.in. ja. (gdzies jest dostepa pelna lista)
A czemu właściwie nie masz user_rights='developer' ?
Z tym user_rights='developer' to byl zly pomysl - takie rzeczy powinno sie robic
przez SSH, nie przez HTTP. Pelna historia nizej.
Poniewaz jednak
teraz co tydzien baza danych przenosi sie z miejsca na
miejsce, ustawianie uprawnien nie jest tak proste jak to dawiej bywalo,
bo trzeba jeszcze zgadnac gdzie w danym momencie znajduje sie baza danych
;-)
?
To znaczy, że jest kilka jej kopii ? To skąd serwer wie której używać ? Z
czystej ciekawości się pytam.
Kopii na starych serwarach po prostu jeszcze nie pokasowalismy.
A serwer oczywiscie ma adres "dobrego" serwera w konfiguracji.
Zajme sie tym
dzis wieczorem, ok ?
Jasne, dzięki.
A w ogóle, to pojawiła się jakaś nowa strona specjalna "turn a user into
sysop", ale wymaga uprawnień biurokraty (???).
Historia jest nastepujaca:
* na UseModzie byly 2 poziomy dostepu z wiki - sysop i normalny uzytkownik.
ale admin mogl za duzo, i dlatego adminow praktycznie nie bylo
niektore rzeczy wymagaly bezposredniego dostepu do instalacji
* na nowym sofcie tez byly 2 poziomy - sysop i normalny uzytkownik.
admin mogl juz znacznie mniej. Zrobiono wiec podzial na
developerow, adminow i normalnych uzytkownikow
* z czasem ograniczono uprawnienia admina do bezpiecznych rozmiarow
i zrezygnowano z uprawnien 'developer' na rzecz bezposredniego dostepu przez
SSH
przy okazji zroznicowano tez nieco uprawnienia zalogowanych i niezalogowanych
uzytkownikow
* skoro adminowanie bylo juz bezpieczne, ilosc adminow zaczela przyrastac lawinowo
jako ze tylko osoby z dostepem SSH mogly ustawiac uprawnienia sysopa,
bylo z tym duzo zamieszania, byly duze opoznienia itd.
* no wiec ktos wymyslil, zeby wprowadzic uprawnienia "biurokraty", ktory moze
przekazywac bazie danych informacje, ze wsrod Wikipedystow jest zgoda, ze
dana osoba powinna zostas sysopem
Mamy wiec (pomijajac boty) 5-poziomowy system uprawnien:
* dostep przez SSH
* biurokrata
* sysop
* zalogowany uzytkownik
* niezalogowany uzytkownik
Przy czym osoby o uprawnieniach na poziomach 2-5 z tej listy nie moga
"uszkodzic"
bazy danych, co najwyzej powaznie utrudnic innym Wikipedystom zycie.