mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-29668 SUPER should not allow actions that have fine-grained dedicated privileges
SUPER privilege used to allow various actions that were alternatively allowed by one of BINLOG ADMIN, BINLOG MONITOR, BINLOG REPLAY, CONNECTION ADMIN, FEDERATED ADMIN, REPL MASTER ADMIN, REPL SLAVE ADMIN, SET USER, SLAVE MONITOR. Now SUPER no longer does that, one has to grant one of the fine-grained privileges above to be to perform corresponding actions. On upgrade from MariaDB versions 10.11 and below all the privileges above are granted automatically if the user has SUPER. As a side-effect, such an upgrade will allow SUPER-user to run SHOW BINLOG EVENTS, SHOW RELAYLOG EVENTS, SHOW SLAVE HOSTS, even if he wasn't able to do it before the upgrade.
This commit is contained in:
@ -9,12 +9,12 @@
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Test that slave admin statements are not allowed without REPLICATION SLAVE ADMIN or SUPER
|
||||
--echo # Test that slave admin statements are not allowed without REPLICATION SLAVE ADMIN
|
||||
--echo #
|
||||
|
||||
CREATE USER user1@localhost IDENTIFIED BY '';
|
||||
GRANT ALL PRIVILEGES ON *.* TO user1@localhost;
|
||||
REVOKE REPLICATION SLAVE ADMIN, SUPER ON *.* FROM user1@localhost;
|
||||
REVOKE REPLICATION SLAVE ADMIN ON *.* FROM user1@localhost;
|
||||
|
||||
connect (con1,localhost,user1,,);
|
||||
connection con1;
|
||||
@ -29,7 +29,6 @@ disconnect con1;
|
||||
connection default;
|
||||
DROP USER user1@localhost;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Test that slave admin statements are allowed with REPLICATION SLAVE ADMIN
|
||||
--echo #
|
||||
@ -49,26 +48,6 @@ disconnect con1;
|
||||
connection default;
|
||||
DROP USER user1@localhost;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Test that slave admin statements are allowed with SUPER
|
||||
--echo #
|
||||
|
||||
CREATE USER user1@localhost IDENTIFIED BY '';
|
||||
GRANT SUPER ON *.* TO user1@localhost;
|
||||
SHOW GRANTS FOR user1@localhost;
|
||||
|
||||
connect (con1,localhost,user1,,);
|
||||
connection con1;
|
||||
--error ER_BAD_SLAVE
|
||||
START SLAVE;
|
||||
CHANGE MASTER TO MASTER_USER='root';
|
||||
STOP SLAVE;
|
||||
disconnect con1;
|
||||
|
||||
connection default;
|
||||
DROP USER user1@localhost;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.5 tests
|
||||
--echo #
|
||||
|
Reference in New Issue
Block a user