SQL Server在Debian上的用户权限管理如何操作
导读:在 Debian 上管理 SQL Server 用户权限 一 环境准备与连接 安装与配置 导入 GPG 并添加 Microsoft APT 源(以 Debian 12 为例): curl https://packages.micros...
在 Debian 上管理 SQL Server 用户权限
一 环境准备与连接
- 安装与配置
- 导入 GPG 并添加 Microsoft APT 源(以 Debian 12 为例):
- curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-archive-keyring.gpg
- echo “deb [signed-by=/usrusr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/debian/12/prod/ stable main” | sudo tee /etc/apt/sources.list.d/mssql-server.list > /devref
- 安装并初始化 SQL Server:sudo apt-get update & & sudo apt-get install -y mssql-server;sudo /opt/mssql/bin/mssql-conf setup
- 启动服务:sudo systemctl start mssql-server;sudo systemctl enable mssql-server
- 导入 GPG 并添加 Microsoft APT 源(以 Debian 12 为例):
- 安装命令行工具并连接
- sudo apt-get install -y mssql-tools unixodbc-dev
- 连接命令:sqlcmd -S localhost -U SA -P ‘YourStrongPassword’(在容器或远程主机上,将 localhost 替换为实际主机名或 IP)
二 核心操作 登录名 用户 角色与权限
- 登录名管理(实例级)
- 创建:CREATE LOGIN login_name WITH PASSWORD = ‘password’;
- 修改密码:ALTER LOGIN login_name WITH PASSWORD = ‘new_password’;
- 删除:DROP LOGIN login_name;
- 数据库用户管理(数据库级)
- 创建:USE YourDB; CREATE USER user_name FOR LOGIN login_name;
- 删除:USE YourDB; DROP USER user_name;
- 角色管理(推荐优先使用固定数据库角色)
- 添加成员(新语法):ALTER ROLE db_datareader ADD MEMBER user_name;
- 移除成员:ALTER ROLE db_datareader DROP MEMBER user_name;
- 兼容旧语法:EXEC sp_addrolemember ‘db_datawriter’, ‘user_name’;
- 细粒度权限
- 授予:GRANT SELECT, INSERT, UPDATE, DELETE ON OBJECT::dbo.YourTable TO user_name;
- 撤销:REVOKE SELECT ON OBJECT::dbo.YourTable FROM user_name;
- 按架构授权:GRANT SELECT ON SCHEMA::dbo TO user_name;
- 典型场景示例
- 只读用户:USE YourDB; CREATE USER app_read FOR LOGIN app_read; ALTER ROLE db_datareader ADD MEMBER app_read;
- 读写用户:USE YourDB; CREATE USER app_rw FOR LOGIN app_rw; ALTER ROLE db_datareader ADD MEMBER app_rw; ALTER ROLE db_datawriter ADD MEMBER app_rw;
- 单表受限:USE YourDB; GRANT SELECT, INSERT ON dbo.Orders TO app_rw;
- 管理员(谨慎):USE YourDB; ALTER ROLE db_owner ADD MEMBER admin_user;
三 验证与撤销
- 权限验证
- 查看某用户的数据库级权限:USE YourDB; SELECT * FROM sys.database_permissions WHERE grantee_principal_id = USER_ID(‘user_name’);
- 以新用户身份连接并实际执行查询/写入,验证是否符合预期(最小权限原则)
- 撤销与清理
- 撤销对象权限:REVOKE INSERT ON OBJECT::dbo.Orders FROM app_rw;
- 从角色移除:ALTER ROLE db_datawriter DROP MEMBER app_rw;
- 删除数据库用户:USE YourDB; DROP USER app_rw;
- 删除登录名:DROP LOGIN app_rw;
四 安全与运维建议
- 遵循最小权限原则:优先授予 db_datareader/db_datawriter 等固定数据库角色,再按需细化到表/列/架构
- 强口令与定期轮换:为 SA 与业务登录名设置复杂密码,并制定更换策略
- 审计与监控:启用 SQL Server Audit 或 Extended Events 记录关键操作(登录、结构变更、敏感数据访问),便于合规与故障排查
- 远程访问加固:仅开放必要端口(默认 1433/TCP),限制来源网段,启用 TLS 加密,避免使用 SA 进行应用连接
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: SQL Server在Debian上的用户权限管理如何操作
本文地址: https://pptw.com/jishu/769019.html
