MySQL 是跨平台、網路化的關聯式資料庫,與 PHP 搭配廣泛。預設配置為通用兼容,生產環境必須進行安全加固。
資料目錄(預設 /usr/local/mysql/var)下每個資料庫一個子目錄,表對應 .frm/.MYD/.MYI 三個檔案。
權限原則: 僅啟動 MySQL 的系統用戶(如 mysql)可讀寫資料目錄與檔案。
drwx------ 4 mysql mysql 4096 var/
drwx------ 2 mysql mysql 4096 var/mysql/
-rw------- 1 mysql mysql 8778 columns_priv.frm
若權限不正確,執行:
chown -R mysql.mysql /usr/local/mysql/var
chmod -R go-rwx /usr/local/mysql/var
本地用戶若有資料目錄讀權限,可直接複製資料庫檔案到其他機器竊取資料。因此作業系統層面的安全是前提。
require_secure_transport=ON)。mysql.user、db、tables_priv 權限表。