ユーザーから権限を削除する(REVOKE文)

ユーザーに設定した権限は REVOKE 文を使用することであとから削除することができます。ここでは MariaDB で作成したユーザーから権限を削除する方法について解説します。

(Last modified: )

ユーザーから特定の権限を削除する

作成済みのユーザーから権限を削除するには REVOKE 文を使います。書式は次の通りです。

REVOKE 
    priv_type [(column_list)]
      [, priv_type [(column_list)]] ...
    ON [object_type] priv_level
    FROM user [, user] ...

REVOKE ALL PRIVILEGES, GRANT OPTION
    FROM user [, user] ...

ユーザーから特定の権限を削除する場合は次の書式を使用します。

REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...
    ON priv_level FROM user

ユーザー( user )に対して指定のレベル( priv_level )で設定された指定の種類の権限( priv_type )を削除します。複数の権限をまとめて削除する場合はカンマ(,)で区切って続けて記述します。

では実際に試してみます。新しいユーザーを作成し、データベースレベルで CREATE 権限と SELECT 権限を設定します。次のように実行してください。

create user neko@localhost identified by 'cat';
grant create, select on mydb.* to neko@localhost;

ユーザーから特定の権限を削除する(1)

ユーザーの作成が成功し、作成済みのデータベース mydb を対象としたデータベースレベルの CREATE 権限と SELECT 権限が設定されました。(ユーザーに権限を設定する方法については「ユーザーに権限を設定する(GRANT文)」を参照されてください)。

それでは設定した権限を確認してみます。

show grants for neko@localhost;

ユーザーから特定の権限を削除する(2)

対象のユーザーにデータベースレベルで CREATE 権限と SELECT 権限が設定されていることが確認できました。

ではこのユーザーからデータベースレベルで CREATE 権限を削除します。次のように実行してください。

revoke create on mydb.* from neko@localhost;

ユーザーから特定の権限を削除する(3)

対象のユーザーから、 mydb データベースを対象としたデータベースレベルの CREATE 権限を削除しました。

それでは改めてユーザーに設定されている権限を確認してみます。

ユーザーから特定の権限を削除する(4)

データベースレベルの CREATE 権限が削除されていることが確認できました。

ユーザーからすべての権限を削除する

ユーザーに設定されているすべての権限を削除するには次の書式を使用します。

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user

ユーザー( user )に対して設定されているすべての権限を削除します。

では実際に試してみます。新しいユーザーを作成し、グローバルレベルで CREATE 権限と UPDATE 権限を設定します。次のように実行してください。

create user inu@localhost identified by 'dog';
grant create, update on *.* to inu@localhost;

ユーザーからすべての権限を削除する(1)

ユーザーの作成が成功し、グローバルレベルの CREATE 権限と UPDATE 権限が設定されました。

それでは設定した権限を確認してみます。

show grants for inu@localhost;

ユーザーからすべての権限を削除する(2)

対象のユーザーにグローバルレベルで CREATE 権限と UPDATE 権限が設定されていることが確認できました。

ではこのユーザーからすべての権限を削除します。次のように実行してください。

revoke all privileges, grant option from inu@localhost;

ユーザーからすべての権限を削除する(3)

対象のユーザーからすべての権限を削除しました。

それでは改めてユーザーに設定されている権限を確認してみます。

ユーザーからすべての権限を削除する(4)

すべての権限が削除されていることが確認できました。

-- --

MariaDB で作成したユーザーから権限を削除する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。