MySQL przyznaje wszystkie uprawnienia do bazy danych z wyjątkiem jednej tabeli
Nie udało mi się znaleźć rozsądnego rozwiązania, aby osiągnąć następujące cele:
Chcę mieć użytkownika, który ma WSZYSTKIE uprawnienia do bazy danych (lub serii baz danych o tym samym schemacie) dla
wyjątek
jedna tabela, do której będą mieli tylko uprawnienia SELECT.
Zasadniczo chcę, aby użytkownik miał swobodę manipulowania bazą danych, ale nie mógł aktualizować określonej tabeli.
Do tej pory próbowałem bez powodzenia:
- Przyznaj wszystkie uprawnienia w tej bazie danych (nazwa_db. *), A następnie przyznaj konkretnie tylko wybrane uprawnienia w tej żądanej tabeli (mając nadzieję, że to nadpisze „wszystko”, głupie, wiem).
- Przyznaj wszystkie uprawnienia do tej bazy danych (nazwa_db. *), A następnie cofnij wstawianie, aktualizowanie i usuwanie. Ale to spowodowało błąd informujący, że nie ma reguły grantu dla db_name.table_name.
Z tego, co udało mi się zebrać, będę musiał indywidualnie nadać wszystkie uprawnienia dla każdej tabeli bazy danych z wyjątkiem tabeli tylko do odczytu.
Niech ktoś mi powie, że jest łatwiejszy sposób
Uwaga
: Używam MySQL 5.1. Najnowsza wersja jest dostępna w systemie Ubuntu 10.04.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Najpierw cofnij wszystkie uprawnienia z tej bazy danych:
Następnie utwórz wyciągi GRANT:
Skopiuj i wklej wyniki do swojego klienta MySQL i uruchom je wszystkie.
Anonimowy użytkownik
Potwierdzenie od:
Lub alternatywnie:
2. dla każdej pozycji na liście sprawdź, czy jest to specjalna tabela; Jeśli to
nie
więc przyznaj wszystkie uprawnienia
Nie podaję kodu, ponieważ można to zrobić w dowolnym języku skryptowym za pomocą narzędzi MySQL, nawet skryptu powłoki; użyj tego, co jest dla Ciebie najwygodniejsze.
Anonimowy użytkownik
Potwierdzenie od:
Może ustawienie WYDARZENIA sprawi, że będzie fajniej :-)
Anonimowy użytkownik
Potwierdzenie od:
Możesz użyć następującego skryptu (skrypt bash konsoli linux)
Jeśli masz konsolę Windows, możesz użyć następującego pliku .bat:
Najpierw piszesz zapytanie, aby uzyskać listę potrzebnych tabel, a następnie definiujesz listę użytkowników, którym chcesz przyznać dostęp. Musisz wykonać skrypt za każdym razem, gdy zmienia się struktura bazy danych. Stworzyłem osobny krótki samouczek dla MySQL Selective/Exceptional Tasks.
https://adhoctuts.com/mysql-se ... store
https://adhoctuts.com/mysql-se ... tore/
/
https://youtu.be/8fWQbtIISdc
https://youtu.be/8fWQbtIISdc