centos中pgadmin权限设置方法
在CentOS中设置pgAdmin权限,主要通过PostgreSQL用户和角色管理实现,步骤如下:
-
安装pgAdmin
sudo yum install pgadmin4
-
创建pgAdmin专用用户
sudo -u postgres psql CREATE ROLE pgadmin WITH LOGIN PASSWORD 'your_password' CREATEDB CREATEROLE INHERIT;
-
配置数据库权限
- 数据库级别:
GRANT ALL PRIVILEGES ON DATABASE your_database TO pgadmin;
- 表级别:
GRANT SELECT, INSERT, UPDATE ON table_name TO pgadmin;
- 角色级别:
先创建角色并分配权限,再将用户加入角色:CREATE ROLE readonly_role WITH LOGIN PASSWORD 'role_password'; GRANT CONNECT ON DATABASE your_database TO readonly_role; GRANT USAGE ON SCHEMA public TO readonly_role; GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_role; ALTER ROLE pgadmin ADD MEMBER readonly_role;
- 数据库级别:
-
通过pgAdmin图形界面管理
- 登录pgAdmin后,右键“登录名”→“创建”→“登录”,设置用户名、密码及权限(如勾选“超级用户”)。
- 右键“服务器”→“属性”→“权限”,可编辑角色对服务器的访问权限。
-
验证与安全配置
- 重启PostgreSQL服务:
sudo systemctl restart postgresql
- 若需远程访问,修改
/var/lib/pgsql/data/pg_hba.conf
,添加:
host all pgadmin 0.0.0.0/0 md5
,并重启服务。 - 配置防火墙允许pgAdmin端口(默认5050):
sudo firewall-cmd --add-port=5050/tcp --permanent sudo firewall-cmd --reload
- 重启PostgreSQL服务:
注意:生产环境中需遵循最小权限原则,避免过度授权。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!