Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Some privilege checking for specific commands will be affected by privileges on PUBLIC, so we'd better include privilege checking for PUBLIC when getting privileges for a user.
For example, we have privilege checking for SHOWDDL commands. To perform a SHOWDDL one must:
– be DB__ROOT
– be object owner
– have the SHOW privilege (PUBLIC & DB__ROOTROLE has priv)
– have SELECT privileges on object
So a user can do showddl on any objects if PUBLIC has SHOW component privilege.