Debian MariaDB如何进行权限控制
Debian MariaDB权限控制主要通过用户管理、权限分配及安全配置实现,具体操作如下:
-
用户管理
- 创建用户:
(如CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
CREATE USER 'dev'@'localhost' IDENTIFIED BY '123456';
,localhost
表示仅本地登录) - 删除用户:
DROP USER '用户名'@'主机名';
- 创建用户:
-
权限分配
- 授予权限:
- 数据库级权限:
(如GRANT SELECT, INSERT, UPDATE ON 数据库名.* TO '用户名'@'主机名';
GRANT ALL PRIVILEGES ON mydb.* TO 'dev'@'localhost';
授予所有权限) - 全局权限(谨慎使用):
GRANT CREATE USER, CREATE DATABASE ON *.* TO '用户名'@'主机名';
- 数据库级权限:
- 刷新权限:
FLUSH PRIVILEGES;
- 授予权限:
-
安全配置
- 限制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
- 限制root远程登录:
-
验证与维护
- 查看用户权限:
SHOW GRANTS FOR '用户名'@'主机名';
- 定期审计:
检查mysql.user
表,清理无用账户,确保权限最小化。
- 查看用户权限:
关键原则:遵循“最小权限原则”,仅授予必要权限,优先使用本地登录,避免暴露敏感数据。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!