Debian系統中常見的SQL數據庫包括MySQL/MariaDB、PostgreSQL和SQL Server,以下分別介紹各數據庫管理員權限的設置方法。
更新系統包列表并安裝MySQL:
sudo apt update && sudo apt install mysql-server
安裝過程中會提示設置root用戶密碼(必記)。
運行安全腳本優化初始配置:
sudo mysql_secure_installation
按提示操作:設置/確認root密碼、刪除匿名用戶、禁止root遠程登錄、刪除test數據庫。
使用root用戶本地登錄:
sudo mysql -u root -p
輸入密碼后進入MySQL命令行。
創建新管理員用戶(如admin_user),并授予全局所有權限:
CREATE USER 'admin_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
*.*:表示所有數據庫的所有表;WITH GRANT OPTION:允許用戶授予他人權限。退出當前會話,用新用戶登錄測試:
mysql -u admin_user -p
輸入密碼后,嘗試創建數據庫或授權,確認權限生效。
更新系統并安裝PostgreSQL及擴展工具:
sudo apt update && sudo apt install postgresql postgresql-contrib
安裝完成后,PostgreSQL會自動創建默認管理員用戶postgres(操作系統用戶)。
postgres用戶并登錄sudo -u postgres bash
psql
進入PostgreSQL命令行(提示符為postgres=#)。
postgres用戶密碼\password postgres
輸入并確認新密碼(用于后續登錄)。
創建具有超級用戶權限的角色(如db_admin):
CREATE ROLE db_admin WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'SecurePass456!';
SUPERUSER:擁有所有數據庫操作權限;CREATEDB:可創建數據庫;CREATEROLE:可創建角色。編輯pg_hba.conf文件(位于/etc/postgresql/<version>/main/),允許特定IP訪問:
sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/15/main/pg_hba.conf
sudo echo "host all all 192.168.1.0/24 md5" >> /etc/postgresql/15/main/pg_hba.conf
修改postgresql.conf文件,允許監聽所有IP:
sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" /etc/postgresql/15/main/postgresql.conf
重啟服務使配置生效:
sudo systemctl restart postgresql
退出postgres用戶,用db_admin登錄:
psql -U db_admin -d postgres -h localhost
輸入密碼后,嘗試創建數據庫或角色,驗證權限。
更新系統并添加Microsoft SQL Server倉庫:
sudo apt update && sudo apt install -y curl gnupg apt-transport-https
curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/debian/$(lsb_release -rs)/prod stable main" | sudo tee /etc/apt/sources.list.d/mssql-server.list > /dev/null
sudo apt update && sudo apt install -y mssql-server
運行配置工具設置SA(系統管理員)密碼:
sudo /opt/mssql/bin/mssql-conf setup
選擇SA用戶并設置強密碼(必記)。
sudo apt install -y mssql-tools unixodbc-dev
將工具路徑加入環境變量:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
使用SA用戶本地登錄:
sqlcmd -S localhost -U SA -P 'YourStrongSAPassword!'
進入sqlcmd命令行(提示符為1>)。
創建登錄名(如sql_admin):
CREATE LOGIN sql_admin WITH PASSWORD = 'ComplexPass789!';
在目標數據庫(如master)中創建用戶并關聯登錄名:
USE master;
CREATE USER sql_admin FOR LOGIN sql_admin;
將用戶添加到sysadmin固定服務器角色(擁有所有權限):
ALTER SERVER ROLE sysadmin ADD MEMBER sql_admin;
退出sqlcmd,用sql_admin登錄測試:
sqlcmd -S localhost -U sql_admin -P 'ComplexPass789!'
輸入密碼后,嘗試創建數據庫或修改服務器配置,驗證權限。
123456),建議包含大小寫字母、數字和特殊字符。ufw)限制訪問IP。SHOW GRANTS(MySQL)、\du(PostgreSQL)、SELECT * FROM sys.server_permissions(SQL Server)查看權限分配,及時撤銷不必要的權限。