diff options
author | unknown <mysqldev@mysql.com> | 2005-03-22 15:54:18 +0100 |
---|---|---|
committer | unknown <mysqldev@mysql.com> | 2005-03-22 15:54:18 +0100 |
commit | 30a232784887340ad43aa5a5e24451415b9daef8 (patch) | |
tree | 4152dc14986a84db418b76d506d7a9fd168dd514 /mysql-test/t/grant2.test | |
parent | 135979d9593f412e4b119a76830fe44adf8950c4 (diff) | |
download | mariadb-git-30a232784887340ad43aa5a5e24451415b9daef8.tar.gz |
sql_acl.cc, sql_acl.h, sql_parse.cc
New privilege CREATE USER (CREATE_USER_ACL, Create_user_priv) added
grant2.test:
new tests (mostly backported from jani's patch)
system_mysql_db.result, sp.result, grant2.result, grant.result:
results updated
mysql-test/r/grant.result:
results updated
mysql-test/r/grant2.result:
results updated
mysql-test/r/sp.result:
results updated
mysql-test/r/system_mysql_db.result:
results updated
mysql-test/t/grant2.test:
new tests (mostly backported from jani's patch)
scripts/mysql_create_system_tables.sh:
Create_user_priv added
scripts/mysql_fix_privilege_tables.sql:
Create_user_priv added
sql/sql_acl.cc:
Create_user_priv added
sql/sql_acl.h:
Create_user_priv added
sql/sql_parse.cc:
Create_user_priv added
sql/sql_show.cc:
Create_user_priv added
sql/sql_yacc.yy:
Create_user_priv added
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'mysql-test/t/grant2.test')
-rw-r--r-- | mysql-test/t/grant2.test | 50 |
1 files changed, 40 insertions, 10 deletions
diff --git a/mysql-test/t/grant2.test b/mysql-test/t/grant2.test index 58f91fddcc2..e480cfc4f5b 100644 --- a/mysql-test/t/grant2.test +++ b/mysql-test/t/grant2.test @@ -17,11 +17,42 @@ delete from mysql.columns_priv where user like 'mysqltest\_%'; flush privileges; +grant all privileges on `my\_1`.* to mysqltest_1@localhost with grant option; +grant create user on *.* to mysqltest_1@localhost; +create user mysqltest_2@localhost; +connect (user_a,localhost,mysqltest_1,,); +connection user_a; +grant select on `my\_1`.* to mysqltest_2@localhost; +--error 1132 +grant select on `my\_1`.* to mysqltest_2@localhost identified by 'pass'; +disconnect user_a; +connection default; +grant update on mysql.* to mysqltest_1@localhost; +connect (user_b,localhost,mysqltest_1,,); +connection user_b; +grant select on `my\_1`.* to mysqltest_2@localhost identified by 'pass'; +grant select on `my\_1`.* to mysqltest_3@localhost; +disconnect user_b; +connection default; +grant insert on mysql.* to mysqltest_1@localhost; +connect (user_c,localhost,mysqltest_1,,); +connection user_c; +grant select on `my\_1`.* to mysqltest_3@localhost; +grant select on `my\_1`.* to mysqltest_4@localhost identified by 'pass'; +disconnect user_c; +connection default; +delete from mysql.user where user like 'mysqltest\_%'; +delete from mysql.db where user like 'mysqltest\_%'; +delete from mysql.tables_priv where user like 'mysqltest\_%'; +delete from mysql.columns_priv where user like 'mysqltest\_%'; +flush privileges; + # # wild_compare fun # grant all privileges on `my\_%`.* to mysqltest_1@localhost with grant option; +grant create user on *.* to mysqltest_1@localhost; connect (user1,localhost,mysqltest_1,,); connection user1; select current_user(); @@ -29,6 +60,7 @@ select current_user; grant all privileges on `my\_1`.* to mysqltest_2@localhost with grant option; --error 1044 grant all privileges on `my_%`.* to mysqltest_3@localhost with grant option; + # # NO_AUTO_CREATE_USER mode # @@ -36,7 +68,6 @@ set @@sql_mode='NO_AUTO_CREATE_USER'; select @@sql_mode; --error 1211 grant select on `my\_1`.* to mysqltest_4@localhost with grant option; ---error 1044 grant select on `my\_1`.* to mysqltest_4@localhost identified by 'mypass' with grant option; disconnect user1; @@ -215,9 +246,10 @@ show grants for '%@b'@'b'; show grants for '%@a'@'a'; drop user '%@a'@'a'; # -# USAGE WITH GRANT OPTION is sufficient. +# CREATE USER privilege is enough +# create user mysqltest_2@localhost; -grant usage on *.* to mysqltest_2@localhost with grant option; +grant create user on *.* to mysqltest_2@localhost; connect (user2,localhost,mysqltest_2,,); connection user2; --error 1142 @@ -229,22 +261,20 @@ disconnect user2; connection default; drop user mysqltest_2@localhost; # -# ALL PRIVILEGES without GRANT OPTION is not sufficient. +# INSERT/UPDATE/DELETE is ok too create user mysqltest_3@localhost; -grant all privileges on mysql.* to mysqltest_3@localhost; +grant INSERT,DELETE,UPDATE on mysql.* to mysqltest_3@localhost; connect (user3,localhost,mysqltest_3,,); connection user3; +show grants; +--error 1142 select host,user,password from mysql.user where user like 'mysqltest_%' order by host,user,password; insert into mysql.user set host='%', user='mysqltest_B'; ---error 1044 create user mysqltest_A@'%'; ---error 1044 rename user mysqltest_B@'%' to mysqltest_C@'%'; ---error 1044 -drop user mysqltest_B@'%'; +drop user mysqltest_C@'%'; disconnect user3; connection default; -drop user mysqltest_B@'%'; drop user mysqltest_3@localhost; # # Bug #3309: Test IP addresses with netmask |