debian

Debian MariaDB如何进行权限控制

小樊
40
2025-08-22 08:04:40
栏目: 云计算

Debian MariaDB权限控制主要通过用户管理、权限分配及安全配置实现,具体操作如下:

  1. 用户管理

    • 创建用户
      CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';  
      
      (如 CREATE USER 'dev'@'localhost' IDENTIFIED BY '123456';localhost 表示仅本地登录)
    • 删除用户
      DROP USER '用户名'@'主机名';  
      
  2. 权限分配

    • 授予权限
      • 数据库级权限
        GRANT SELECT, INSERT, UPDATE ON 数据库名.* TO '用户名'@'主机名';  
        
        (如 GRANT ALL PRIVILEGES ON mydb.* TO 'dev'@'localhost'; 授予所有权限)
      • 全局权限(谨慎使用):
        GRANT CREATE USER, CREATE DATABASE ON *.* TO '用户名'@'主机名';  
        
    • 刷新权限
      FLUSH PRIVILEGES;  
      
  3. 安全配置

    • 限制root远程登录
      REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';  
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';  
      FLUSH PRIVILEGES;  
      
      并修改配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf,将 bind-address 设为 127.0.0.1
    • 删除匿名用户
      DELETE FROM mysql.user WHERE User = '';  
      FLUSH PRIVILEGES;  
      
    • 启用防火墙
      sudo ufw allow 3306/tcp  # 仅允许必要IP访问  
      sudo ufw reload  
      
  4. 验证与维护

    • 查看用户权限
      SHOW GRANTS FOR '用户名'@'主机名';  
      
    • 定期审计
      检查 mysql.user 表,清理无用账户,确保权限最小化。

关键原则:遵循“最小权限原则”,仅授予必要权限,优先使用本地登录,避免暴露敏感数据。

0
看了该问题的人还看了