DBAtlas · 数据库运维图谱

列出用户 / 角色

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): \du

在 PostgreSQL 中,用户是带有 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');

登录名(login)是服务器级的,用户是数据库级的;两者通过 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 WHOAMI

Redis 6+ 的 ACL 体系。在此之前只有一个 'default' 用户和 requirepass。

在 DBAtlas 中打开 →