温馨提示×

ubuntu中sqladmin权限设置方法

小樊
33
2025-12-29 19:13:44
栏目: 云计算

Ubuntu中 SQLAdmin 权限设置方法

一、概念与前置准备

  • SQLAdmin在Ubuntu环境中通常指用于管理数据库的管理员账户(也可指第三方Web管理工具,本文以账户为例)。操作前请先完成:安装并启动数据库(如MySQLPostgreSQL)、使用强密码、执行安全初始化(如MySQL的mysql_secure_installation)、仅允许可信网络或本机访问数据库端口。

二、MySQL 设置 sqladmin 用户

  • 登录数据库:mysql -u root -p
  • 创建本地管理员并授予全部权限(谨慎使用通配符与WITH GRANT OPTION):
    CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'StrongPass!23';
    GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  • 按需最小权限示例(仅对某库做增删改查):
    CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'StrongPass!23';
    GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'sqladmin'@'localhost';
    FLUSH PRIVILEGES;
    
  • 撤销与查看权限:
    REVOKE ALL PRIVILEGES ON *.* FROM 'sqladmin'@'localhost';
    SHOW GRANTS FOR 'sqladmin'@'localhost'\G
    
  • 远程管理场景(如应用服务器需要连接),可创建专用远程账户并限制来源IP:
    CREATE USER 'sqladmin'@'192.168.1.%' IDENTIFIED BY 'StrongPass!23';
    GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'192.168.1.%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
    并在配置文件中限制bind-address与访问网段,配合防火墙仅放行必要来源。

三、PostgreSQL 设置 sqladmin 用户

  • 登录数据库:sudo -u postgres psql
  • 创建用户并授予数据库级权限:
    CREATE USER sqladmin WITH PASSWORD 'StrongPass!23';
    GRANT ALL PRIVILEGES ON DATABASE mydb TO sqladmin;
    
  • 授予模式与对象权限(按需细化到表、序列、函数等):
    -- 当前数据库默认 schema 通常为 public
    GRANT USAGE ON SCHEMA public TO sqladmin;
    GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO sqladmin;
    GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO sqladmin;
    -- 如需创建数据库等管理权限
    ALTER USER sqladmin CREATEDB;
    
  • 撤销与查看:
    REVOKE ALL PRIVILEGES ON DATABASE mydb FROM sqladmin;
    \dp
    
  • 远程访问建议:编辑pg_hba.conf仅允许可信IP,并在postgresql.conf中设置合适的listen_addresses

四、安全加固与最佳实践

  • 遵循最小权限原则:仅授予完成工作所需权限,避免滥用ALL PRIVILEGESWITH GRANT OPTION
  • 禁用或限制root远程登录,日常使用sqladmin等专用账户;定期运行安全脚本与更新补丁。
  • 网络与防火墙:仅开放必要端口(如3306/5432),限制来源网段;在数据库配置中绑定可信地址。
  • 审计与备份:启用审计日志、定期备份与恢复演练,确保可追溯与可用性。

0