diff options
author | Vicențiu Ciorbaru <cvicentiu@gmail.com> | 2013-10-17 20:50:24 -0700 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-10-17 20:50:24 -0700 |
commit | b4f3ba2643605e08259c0296c3b9e2b7c5db791f (patch) | |
tree | 52dc26a621dc14e7f85a125beef002403676605a /mysql-test/r | |
parent | f22a50b2f9dca8405524015f8219c8de29413148 (diff) | |
download | mariadb-git-b4f3ba2643605e08259c0296c3b9e2b7c5db791f.tar.gz |
Added testcase to check that granting a role to a role works.
Diffstat (limited to 'mysql-test/r')
-rw-r--r-- | mysql-test/r/acl_roles_set_role-recursive.result | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/mysql-test/r/acl_roles_set_role-recursive.result b/mysql-test/r/acl_roles_set_role-recursive.result new file mode 100644 index 00000000000..ac7391b8a91 --- /dev/null +++ b/mysql-test/r/acl_roles_set_role-recursive.result @@ -0,0 +1,88 @@ +create user 'test_user'@'localhost'; +create user 'test_role1'@''; +update mysql.user set is_role='Y' where user='test_role1'; +insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('localhost', +'test_user', +'test_role1'); +create user 'test_role2'@''; +update mysql.user set is_role='Y' where user='test_role2'; +insert into mysql.roles_mapping (HostFk, UserFk, RoleFk) values ('', +'test_role1', +'test_role2'); +select user, host from mysql.user; +user host +test_role1 +test_role2 +root 127.0.0.1 +root ::1 +root Arrakis +root localhost +test_user localhost +select * from mysql.roles_mapping; +HostFk UserFk RoleFk +localhost test_user test_role1 + test_role1 test_role2 +grant select on *.* to 'test_role2'@''; +select * from mysql.user where user like 'test_role%'; +Host User Password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv Create_view_priv Show_view_priv Create_routine_priv Alter_routine_priv Create_user_priv Event_priv Trigger_priv Create_tablespace_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections max_user_connections plugin authentication_string is_role + test_role1 N N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 Y + test_role2 Y N N N N N N N N N N N N N N N N N N N N N N N N N N N N 0 0 0 0 Y +flush privileges; +select * from mysql.roles_mapping; +ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping' +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +set role test_role1; +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +select * from mysql.roles_mapping; +HostFk UserFk RoleFk +localhost test_user test_role1 + test_role1 test_role2 +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +set role none; +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +select * from mysql.roles_mapping; +ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping' +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +set role test_role2; +ERROR HY000: The role 'test_role2' has not been granted or is invalid. +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +select * from mysql.roles_mapping; +ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping' +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +set role test_role1; +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +select * from mysql.roles_mapping; +HostFk UserFk RoleFk +localhost test_user test_role1 + test_role1 test_role2 +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +set role none; +show grants; +Grants for test_user@localhost +GRANT USAGE ON *.* TO 'test_user'@'localhost' +select * from mysql.roles_mapping; +ERROR 42000: SELECT command denied to user 'test_user'@'localhost' for table 'roles_mapping' +delete from mysql.user where user='test_role1'; +delete from mysql.roles_mapping where UserFk like 'test_role1'; +delete from mysql.user where user='test_role2'; +delete from mysql.roles_mapping where UserFk like 'test_role2'; +drop user 'test_user'@'localhost'; +flush privileges; |