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;
安全配置
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
驗證與維護
SHOW GRANTS FOR '用戶名'@'主機名';
mysql.user
表,清理無用賬戶,確保權限最小化。關鍵原則:遵循“最小權限原則”,僅授予必要權限,優先使用本地登錄,避免暴露敏感數據。