溫馨提示×

Debian下SQL管理員權限設置

小樊
46
2025-10-01 19:50:48
欄目: 云計算

Debian下SQL數據庫管理員權限設置指南

Debian系統中常見的SQL數據庫包括MySQL/MariaDB、PostgreSQLSQL Server,以下分別介紹各數據庫管理員權限的設置方法。

一、MySQL/MariaDB管理員權限設置

1. 安裝MySQL服務器

更新系統包列表并安裝MySQL:

sudo apt update && sudo apt install mysql-server

安裝過程中會提示設置root用戶密碼(必記)。

2. 配置MySQL安全設置

運行安全腳本優化初始配置:

sudo mysql_secure_installation

按提示操作:設置/確認root密碼、刪除匿名用戶、禁止root遠程登錄、刪除test數據庫。

3. 登錄MySQL

使用root用戶本地登錄:

sudo mysql -u root -p

輸入密碼后進入MySQL命令行。

4. 創建管理員用戶并授權

創建新管理員用戶(如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:允許用戶授予他人權限。

5. 驗證權限

退出當前會話,用新用戶登錄測試:

mysql -u admin_user -p

輸入密碼后,嘗試創建數據庫或授權,確認權限生效。

二、PostgreSQL管理員權限設置

1. 安裝PostgreSQL

更新系統并安裝PostgreSQL及擴展工具:

sudo apt update && sudo apt install postgresql postgresql-contrib

安裝完成后,PostgreSQL會自動創建默認管理員用戶postgres(操作系統用戶)。

2. 切換至postgres用戶并登錄

sudo -u postgres bash
psql

進入PostgreSQL命令行(提示符為postgres=#)。

3. 修改postgres用戶密碼

\password postgres

輸入并確認新密碼(用于后續登錄)。

4. 創建管理員角色并授權

創建具有超級用戶權限的角色(如db_admin):

CREATE ROLE db_admin WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'SecurePass456!';
  • SUPERUSER:擁有所有數據庫操作權限;
  • CREATEDB:可創建數據庫;
  • CREATEROLE:可創建角色。

5. 配置遠程訪問(可選)

編輯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

6. 測試新用戶權限

退出postgres用戶,用db_admin登錄:

psql -U db_admin -d postgres -h localhost

輸入密碼后,嘗試創建數據庫或角色,驗證權限。

三、SQL Server管理員權限設置

1. 安裝SQL Server

更新系統并添加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用戶并設置強密碼(必記)。

2. 安裝SQL Server命令行工具

sudo apt install -y mssql-tools unixodbc-dev

將工具路徑加入環境變量:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

3. 登錄SQL Server

使用SA用戶本地登錄:

sqlcmd -S localhost -U SA -P 'YourStrongSAPassword!'

進入sqlcmd命令行(提示符為1>)。

4. 創建SQL Server登錄名及用戶

創建登錄名(如sql_admin):

CREATE LOGIN sql_admin WITH PASSWORD = 'ComplexPass789!';

在目標數據庫(如master)中創建用戶并關聯登錄名:

USE master;
CREATE USER sql_admin FOR LOGIN sql_admin;

5. 授予管理員權限

將用戶添加到sysadmin固定服務器角色(擁有所有權限):

ALTER SERVER ROLE sysadmin ADD MEMBER sql_admin;

6. 測試權限

退出sqlcmd,用sql_admin登錄測試:

sqlcmd -S localhost -U sql_admin -P 'ComplexPass789!'

輸入密碼后,嘗試創建數據庫或修改服務器配置,驗證權限。

安全加固建議

  • 使用強密碼:避免使用簡單密碼(如123456),建議包含大小寫字母、數字和特殊字符。
  • 限制遠程訪問:僅在需要時開放數據庫端口(MySQL:3306、PostgreSQL:5432、SQL Server:1433),并通過防火墻(如ufw)限制訪問IP。
  • 遵循最小權限原則:僅授予用戶完成工作所需的最低權限,避免過度授權。
  • 定期審計權限:使用SHOW GRANTS(MySQL)、\du(PostgreSQL)、SELECT * FROM sys.server_permissions(SQL Server)查看權限分配,及時撤銷不必要的權限。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女