在管理权限前,需完成pgAdmin的安装与基础配置:
sudo apt update
sudo apt install curl gpg gnupg2 software-properties-common apt-transport-https lsb-release ca-certificates
curl -fsSL https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" | sudo tee /etc/apt/sources.list.d/pgadmin4.list
sudo apt update
sudo apt install pgadmin4
sudo /usr/pgadmin4/bin/setup-web.sh
完成后,通过浏览器访问http://your-server-ip/pgadmin4,使用主密码登录。pgAdmin的运行与访问需依托Linux系统的用户和组权限体系:
sudo adduser --system --no-create-home --group pgadmin_svc
webadmin)访问pgAdmin,将其加入pgadmin组(需提前创建):sudo groupadd pgadmin
sudo usermod -aG pgadmin webadmin
/usr/pgadmin4)及配置文件(/etc/pgadmin4/pgadmin4.conf)的权限正确:sudo chown -R root:pgadmin /usr/pgadmin4 # 安装目录归root所有,pgadmin组可读执行
sudo chmod -R 750 /usr/pgadmin4
sudo chmod 600 /etc/pgadmin4/pgadmin4.conf # 配置文件仅root可读写
sudo chown root:root /etc/pgadmin4/pgadmin4.conf
pgAdmin通过Web界面管理用户及数据库对象权限:
pgadmin_user)、密码;SELECT、INSERT、UPDATE、DELETE、ALL),点击“Save”。pgAdmin的本质是通过PostgreSQL的权限系统管理数据库对象,需通过SQL命令或pgAdmin界面分配底层权限:
postgres用户登录psql,创建数据库用户并授权:-- 切换到postgres用户
sudo -u postgres psql
-- 创建数据库用户
CREATE USER db_user WITH PASSWORD 'strong_password';
-- 创建数据库并设置所有者
CREATE DATABASE target_db OWNER db_user;
-- 授予数据库级权限
GRANT ALL PRIVILEGES ON DATABASE target_db TO db_user;
-- 授予表级权限(可选)
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO db_user;
-- 授予序列级权限(可选,用于自增字段)
GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO db_user;
\q -- 退出psql
db_user);ALL、SELECT),点击“Save”。SELECT权限,开发人员仅需READWRITE权限)。SELECT * FROM pg_user;、SELECT table_catalog, table_schema, table_name, privilege_type FROM information_schema.table_privileges WHERE grantee = 'user1';)定期检查用户权限。readonly、readwrite),将用户添加到角色中,便于统一管理权限(如GRANT readonly TO db_user;)。/etc/pgadmin4)及PostgreSQL系统目录(/var/lib/postgresql),防止权限丢失。sudo ufw allow from trusted_ip to any port 5050/tcp);/etc/pgadmin4/pgadmin4.conf中的ENABLE_HTTPS = True,并指定证书路径);