温馨提示×

CentOS SQLAdmin用户管理技巧有哪些

小樊
35
2025-12-05 19:23:10
栏目: 云计算

CentOS 上的 sqladmin 用户管理技巧

一 系统层账户与登录安全

  • 创建专用的系统管理账号并设置强密码:sudo useradd sqladminsudo passwd sqladmin
  • 仅授予必要的提权能力:将用户加入 wheel 组并使用 sudo visudo 精确授权,避免直接共享 root。
  • 加固 SSH 登录:优先使用 SSH 密钥,禁用密码登录;为 sqladmin 配置 ~/.ssh/authorized_keys
  • 精细化文件与目录权限:对备份目录、配置文件使用 setfacl/getfacl 设置最小权限,避免其他用户越权访问。
  • 资源与稳定性:在 /etc/security/limits.conf 提升文件描述符上限;按需调整内核网络参数(如 net.core.somaxconnnet.ipv4.tcp_max_syn_backlog)以支撑高并发。
  • 审计与合规:定期清理无用账号、锁定长期未用账户,保留关键操作的可追溯性。

二 数据库层账户与权限设计

  • 创建数据库管理员账号(示例为 MySQL/MariaDB):
    • 本地管理:CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'StrongPass!'; GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
    • 远程管理:CREATE USER 'sqladmin'@'%' IDENTIFIED BY 'StrongPass!'; GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
  • 遵循最小权限原则:生产环境优先采用“按库授权”而非全局授权,按需创建具有特定权限的角色或次级管理员。
  • 远程访问安全:开放数据库端口(如 3306)时仅允许可信网段;启用 SSL/TLS 加密传输,避免凭据与数据明文暴露。
  • 权限复核与回收:定期执行 SHOW GRANTS FOR 'sqladmin'@'host'; 并清理不再需要的全局权限或主机白名单。
  • 其他数据库参考:如 PostgreSQL 可使用 CREATE USER sqladmin WITH PASSWORD 'pwd' SUPERUSER CREATEDB CREATEROLE LOGIN; 并在 pg_hba.conf 中限制来源网段。

三 防火墙与 SELinux 策略

  • 防火墙放行数据库端口:
    • MySQL/MariaDB:sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp && sudo firewall-cmd --reload
    • PostgreSQL:sudo firewall-cmd --permanent --zone=public --add-port=5432/tcp && sudo firewall-cmd --reload
  • SELinux 细粒度控制:保持 SELinux Enforcing 模式,按需开启数据库网络访问布尔值(如 sudo setsebool -P httpd_can_network_connect_db 1 用于特定 Web 管理场景);避免直接 setenforce 0 关闭。
  • 变更验证:放行或策略调整后,使用 ss -lntp | grep 3306firewall-cmd --list-ports 校验端口与策略是否生效。

四 备份恢复与日志监控

  • 备份策略:使用 mysqldump 定期全量备份,示例:mysqldump -u sqladmin -p --single-transaction --routines --triggers --databases your_dbs > backup.sql;重要备份做离线或异地副本。
  • 恢复演练:定期在测试环境验证备份的可用性与恢复流程,缩短真实故障时的 RTO
  • 日志与排错:关注数据库错误日志(如 /var/log/mysqld.log),并使用 journalctl -u mysqld -f 实时查看服务日志;系统安全事件查看 /var/log/secure
  • 监控与告警:结合 Prometheus + Grafana 监控连接数、慢查询、复制延迟等关键指标,设置阈值告警。

五 图形化工具与自动化

  • Web 管理工具:部署 phpMyAdminWebmin 的 SQL Admin 模块,使用 sqladmin 账号登录进行可视化管理;注意仅在内网或启用 HTTPS 时暴露。
  • 自动化与合规:将账号创建、权限授予、备份与巡检脚本化,纳入 cronAnsible 统一管理;变更前后保留审计记录与回滚方案。

0