0

'anil'が'%desk%'というマシンからコマンドを実行できないようにするにはどうすればよいですか?

mysql> show grants for anil;

+------------------------------------------------------------------------------------+
| Grants for anil@%                                                                  |
+------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'anil'@'%'                                                   |
| GRANT SELECT, CREATE TEMPORARY TABLES, LOCK TABLES ON `production`.* TO 'anil'@'%' |
+------------------------------------------------------------------------------------+


mysql> revoke all privileges, grant option from 'anil'@'%desk%';
ERROR 1269 (HY000): Can't revoke all privileges for one or more of the requested users

mysql> revoke usage on *.* from 'anil'@'%desk%';
ERROR 1141 (42000): There is no such grant defined for user 'anil' on host '%desk%'

mysql> revoke SELECT, CREATE TEMPORARY TABLES, LOCK TABLES ON `production`.* from 'anil'@'%desk%';
ERROR 1141 (42000): There is no such grant defined for user 'anil' on host '%desk%'
4

1 に答える 1

1

MySQL ではパーミッションを付与することしかできません。特定のホストを除くすべてに付与する能力はありません。また、試みている方法でホスト名に基づいてパーミッションを拒否することもできません。これを実現する唯一の方法は、受け入れ可能なホスト名に対してのみユーザー権限を与えることです。このREVOKEコマンドは、以前に編集された権限のみを削除します。GRANT

'anil'@'%.serv.company.tld'ネットワークがたまたまサブドメイン [つまり、*.desk.company.tld と *.serv.company.tld] に分割されている場合は、または同様のサブネットに付与できるはずです: 'anil'@'192.168.1.%'.

于 2013-01-14T19:23:28.610 に答える