ubuntu pgadmin用户管理技巧
导读:Ubuntu下pgAdmin用户管理技巧 一、准备工作:安装与连接 在Ubuntu系统上,需先完成pgAdmin和PostgreSQL的安装及基础配置。通过终端执行以下命令安装pgAdmin4: sudo apt update &&...
Ubuntu下pgAdmin用户管理技巧
一、准备工作:安装与连接
在Ubuntu系统上,需先完成pgAdmin和PostgreSQL的安装及基础配置。通过终端执行以下命令安装pgAdmin4:
sudo apt update &
&
sudo apt install pgadmin4
安装完成后,启动pgAdmin并通过浏览器访问(默认地址为http://127.0.0.1:5050
),使用管理员账号登录。连接PostgreSQL服务器时,需在pgAdmin左侧面板右键点击“Servers”,选择“Create”→“Server…”,输入服务器名称(如“My PostgreSQL Server”),并在“Connection”选项卡中填写主机(localhost)、端口(5432)、用户名(postgres,默认超级用户)、密码等信息,点击“Save”完成连接。
二、创建用户:图形化操作与权限初始化
- 通过pgAdmin创建用户
展开pgAdmin左侧“Servers”节点,选择目标PostgreSQL服务器,右键点击“Users”→“Create”→“User…”。在弹出窗口中,填写用户名(如test_user
)、密码(需包含大小写字母、数字和特殊字符,如Test@1234
),勾选“Login/Group Role”选项(确保用户具备登录权限)。若需为用户分配初始权限,可点击“Role Memberships”标签,选择现有角色(如pg_read_all_data
用于只读访问),最后点击“Save”保存。 - 通过命令行补充创建(可选)
若需更灵活地创建用户,可通过PostgreSQL命令行操作:切换至postgres用户(sudo su - postgres
),执行psql
进入命令行界面,输入CREATE USER test_user WITH PASSWORD 'Test@1234' LOGIN;
(LOGIN
关键字表示允许用户登录)。此方式适用于批量创建或复杂权限配置场景。
三、权限管理:精细化控制与验证
- 分配数据库级权限
创建用户后,需为其分配数据库访问权限。在pgAdmin中,展开目标数据库(如mydb
),右键点击“Users”→“Create”→“User…”(或编辑已有用户),在“Privileges”标签中,勾选“Grant”选项,选择权限类型(如SELECT
、INSERT
、UPDATE
、DELETE
或ALL PRIVILEGES
)。例如,授予用户对mydb
数据库的所有权限,可勾选“All Privileges”,点击“Save”。 - 分配表级权限
若需更细粒度的控制,可针对特定表设置权限。在pgAdmin中,展开目标数据库→“Schemas”→“public”→“Tables”,右键点击目标表(如employees
),选择“Properties”→“Permissions”标签,点击“+”添加用户,选择权限(如SELECT
用于查询、UPDATE
用于修改),点击“Save”。 - 创建角色复用权限
为避免重复分配权限,可创建角色并将权限赋予角色,再将用户添加至角色。在pgAdmin中,右键点击“Roles”→“Create”→“Role…”,输入角色名(如data_reader
),在“Privileges”标签中分配权限(如SELECT
onmydb
),点击“Save”。随后,将用户添加至角色:右键点击用户→“Properties”→“Role Memberships”,点击“+”添加角色,点击“Save”。 - 验证权限
权限更改后,可通过pgAdmin或命令行验证。例如,在pgAdmin中,右键点击目标表→“Query Tool”,输入SELECT * FROM employees LIMIT 1;
,执行后若能返回数据,则说明权限生效。或通过命令行:psql -U test_user -d mydb -c "SELECT * FROM employees LIMIT 1; "
,输入密码后查看结果。
四、删除用户:安全操作流程
- 通过pgAdmin删除用户
在pgAdmin左侧面板中,展开“Servers”→目标服务器→“Users”,选中要删除的用户(如test_user
),右键点击→“Delete”→“Delete/放弃”。在弹出的确认对话框中,点击“是”即可删除用户。 - 注意事项
- 删除用户前,需确认该用户无正在运行的进程(可通过
pg_stat_activity
视图查询),避免影响业务。 - 若用户拥有数据库对象(如表、视图),需先转移对象所有权(使用
ALTER TABLE table_name OWNER TO new_owner;
)或删除对象,否则会导致删除失败。
- 删除用户前,需确认该用户无正在运行的进程(可通过
五、安全增强技巧
- 修改默认密码
安装PostgreSQL后,需修改默认超级用户postgres
的密码,避免未授权访问。执行sudo -u postgres psql
进入命令行,输入\password postgres
,设置复杂密码(如Admin@123456
)。 - 配置SSL加密
为防止数据传输被窃取,需启用SSL加密。编辑PostgreSQL配置文件(/etc/postgresql/< version> /main/postgresql.conf
),设置ssl = on
;编辑pg_hba.conf
文件,将连接方式改为hostssl
(如hostssl all all 0.0.0.0/0 md5
),重启PostgreSQL(sudo systemctl restart postgresql
)。在pgAdmin连接时,需勾选“SSL”选项并选择“Require”或“Verify-Full”。 - 限制访问IP
通过pg_hba.conf
文件限制可访问PostgreSQL的IP地址。例如,仅允许本地和特定IP(如192.168.1.100
)访问,可添加以下行:
host all all 127.0.0.1/32 md5
host all all 192.168.1.100/32 md5
重启PostgreSQL使配置生效。 - 启用审计日志
开启审计日志,记录用户操作(如登录、查询、修改),便于后续追溯。编辑postgresql.conf
文件,设置log_statement = 'all'
(记录所有SQL语句)、log_connections = on
(记录连接信息)、log_disconnections = on
(记录断开连接信息),重启PostgreSQL。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu pgadmin用户管理技巧
本文地址: https://pptw.com/jishu/716217.html