debian

Debian下SQL管理员权限设置

小樊
49
2025-10-01 19:50:48
栏目: 云计算

Debian下SQL数据库管理员权限设置指南

Debian系统中常见的SQL数据库包括MySQL/MariaDBPostgreSQLSQL 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;

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!';

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!'

输入密码后,尝试创建数据库或修改服务器配置,验证权限。

安全加固建议

0
看了该问题的人还看了