ユーザー/ロールを一覧表示
Oracle
SELECT username, account_status, default_tablespace, created
FROM dba_users
ORDER BY username;account_status は LOCKED/EXPIRED の状態を示す。ロールには dba_roles を使用する。
PostgreSQL
SELECT rolname, rolsuper, rolcanlogin, rolvaliduntil
FROM pg_roles
ORDER BY rolname;
-- Shortcut (psql): \duPostgreSQL のユーザーは LOGIN 属性を持つロール。rolcanlogin で区別する。
MySQL
SELECT user, host, account_locked, password_expired
FROM mysql.user
ORDER BY user;MySQL のアカウントはユーザー + ホストの組('app'@'%' と 'app'@'localhost' は別物)。
SQL Server
-- Server logins:
SELECT name, type_desc, is_disabled FROM sys.server_principals
WHERE type IN ('S','U','G');
-- Database users:
SELECT name, type_desc FROM sys.database_principals
WHERE type IN ('S','U','G');ログインはサーバーレベル、ユーザーはデータベースレベル。両者は SID で対応付けられる。
MongoDB
// Users in the current database:
db.getUsers()
// All users in the system: use admin; db.system.users.find({}, {user:1, db:1, roles:1})ユーザーは作成されたデータベース(authenticationDatabase)で定義される。
Redis
ACL LIST
# Names only: ACL USERS
# Your own identity: ACL WHOAMIRedis 6+ の ACL システム。それ以前は単一の 'default' ユーザーと requirepass のみだった。