Sqlserver安全篇之_Sqlcmd命令使用windows域賬號認證sqlserver遇到問題如何處理的案例

sqlcmd
https://learn.microsoft.com/zh-cn/sql/tools/sqlcmd/sqlcmd-connect-database-engine?view=sql-server-ver16

sqlcmd -S指定的數據庫連接字符串必須有對應的有效的SPN信息,否則會報錯SSPI Provider: Server not found in Kerberos database.

正常連接
1、tcp:hostname,port

/opt/mssql-tools18/bin/sqlcmd -S tcp:dbdev1,1433 -N true -C -Q "select top 1 name from sys.databases"
/opt/mssql-tools18/bin/sqlcmd -S tcp:stagingdb1,63061 -N true -C -Q "select top 1 name from sys.databases"

2、hostname

/opt/mssql-tools18/bin/sqlcmd -S dbdev1 -N true -C -Q "select top 1 name from sys.databases"

3、hostname\instance

/opt/mssql-tools18/bin/sqlcmd -S "stagingdb1\db62lm" -N true -C -Q "select top 1 name from sys.databases"

4、hostname,port

/opt/mssql-tools18/bin/sqlcmd -S dbdev1,1433 -N true -C -Q "select top 1 name from sys.databases"
/opt/mssql-tools18/bin/sqlcmd -S stagingdb1,63061 -N true -C -Q "select top 1 name from sys.databases"

無法正常連接,這是因為SPN里面的信息只有服務器dbdev1或stagingdb1的名稱,而沒有ip的名稱
1、tcp:ip,port

/opt/mssql-tools18/bin/sqlcmd -S tcp:172.22.137.251,1433 -N true -C -Q "select top 1 name from sys.databases"
/opt/mssql-tools18/bin/sqlcmd -S tcp:10.0.2.195,63061 -N true -C -Q "select top 1 name from sys.databases"
報錯
SSPI Provider: Server not found in Kerberos database.
Cannot generate SSPI context.

2、ip

/opt/mssql-tools18/bin/sqlcmd -S 172.22.137.251 -N true -C -Q "select top 1 name from sys.databases"
報錯
SSPI Provider: Server not found in Kerberos database.
Cannot generate SSPI context.

3、ip\instance

/opt/mssql-tools18/bin/sqlcmd -S "10.0.2.195\db62lm" -N true -C -Q "select top 1 name from sys.databases"
報錯
SSPI Provider: Server not found in Kerberos database.
Cannot generate SSPI context.

4、ip,port

/opt/mssql-tools18/bin/sqlcmd -S 172.22.137.251,1433 -N true -C -Q "select top 1 name from sys.databases"
/opt/mssql-tools18/bin/sqlcmd -S 10.0.2.195,63061 -N true -C -Q "select top 1 name from sys.databases"
報錯
SSPI Provider: Server not found in Kerberos database.
Cannot generate SSPI context.

sqlcmd遇到過的問題,windows域賬號的kerberos ticket正常的情況下,windows域賬號認證sqlserver報錯

sqlcmd報錯

webprocess@paystaget1:~$ /opt/mssql-tools18/bin/sqlcmd -S 172.22.137.251,1433 -N true -C -Q "select top 1 name from sys.databases"
Sqlcmd:Error: Microsoft ODBc priver 18 for SQLLServor: SSPI Provider: No Credentials were supplied,or the Credentials were unavailable or inaccessible. No Kerberos credentials available(defaul cache: File:/tmp/krb5cc_946009658)
Sqlcmd: Error: Microsoft ODBc Driver 18 for SQLServer:Can not generate SSPI context

分析
1、該域賬號的kerberos ticket

root@paystaget1:~# klist /opt/apache-tomcat-9.0.62/conf/krb5cc_genticket
Ticket cache: FILE:/opt/apache-tomcat-9.0.62/conf/krb5cc_genticket
Default principal: webprocess@DAI.NETDAI.COMValid starting     Expires            Service principal
04/17/25 16:00:03  04/18/25 02:00:03  krbtgt/DAI.NETDAI.COM@DAI.NETDAI.COMrenew until 04/18/25 16:00:03

2、域賬號不會直接使用kerberos ticket文件,而是根據該域賬號對應的uid,默認使用/tmp/krb5cc_uid

root@paystaget1:~# chown webprocess.webprocess /tmp/krb5cc_946009658
報錯chown:invalid user: `webprocess.webprocess`

3、自此發現這種域賬號webprocess,只有uid是webprocess但是沒有gid是webprocess,所以chown時無法使用webprocess.webprocess這樣的方式寫死域用戶和域用戶組

root@paystaget1:~# id webprocess
uid=946009658(webprocess) gid=946000513(domain users) groups=946000513(domain users),946040890(sophosuser),946063848(alkgo user),946071842(sso quiver)

解決方法

root@paystaget1:~# cp /opt/apache-tomcat-9.0.62/conf/krb5cc_genticket /tmp/krb5cc_946009658
root@paystaget1:~# chown webprocess /tmp/krb5cc_946009658
root@paystaget1:~# klist /tmp/krb5cc_946009658
webprocess@paystaget1:/root$ /opt/mssql-tools18/bin/sqlcmd -S tcp:dbdev1,1433 -N true -C -Q "select top 1 name from sys.databases"
name
--------------------------------------------------------------------------------------------------------------------------------
master(1 rows affected)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80029.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80029.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80029.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電腦硬盤常見的幾種接口類型

一、傳統接口(機械硬盤為主) 1. SATA 接口(Serial ATA) 特點: 最主流的機械硬盤(HDD)接口,廣泛用于臺式機和筆記本電腦。傳輸速度較慢,理論最大帶寬為 6 Gbps&#xff…

【前端HTML生成二維碼——MQ】

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 前端HTML生成二維碼——MQ 前言本文將介紹前端HTML如何更具用戶輸入的內容生成對應的二維碼,附頁面代碼、實現函數、js腳本。一、自定義顯示頁面1、效果圖二、使用步驟1、引入庫2、實現函數3、頁面及函數代…

研發效率破局之道閱讀總結(3)工程優化

研發效率破局之道閱讀總結(3)工程優化 Author: Once Day Date: 2025年4月22日 一位熱衷于Linux學習和開發的菜鳥,試圖譜寫一場冒險之旅,也許終點只是一場白日夢… 漫漫長路,有人對你微笑過嘛… 全系列文章可參考專欄: 程序的藝術_Once-Day…

C# MP3 伴奏

使用建議: 參數調節指南: 低頻人聲殘留:降低CenterFrequency(800-1500Hz) 高頻人聲殘留:提高CenterFrequency(2500-3500Hz) 消除力度不足:提高EliminationStrength(0.9-1.0) 伴奏失真:降低EliminationSt…

大模型面經 | 春招、秋招算法面試常考八股文附答案(四)

大家好,我是皮先生!! 今天給大家分享一些關于大模型面試常見的面試題,希望對大家的面試有所幫助。 往期回顧: 大模型面經 | 春招、秋招算法面試常考八股文附答案(RAG專題一) 大模型面經 | 春招、秋招算法面試常考八股文附答案(RAG專題二) 大模型面經 | 春招、秋招算法…

Springboot 集成 RBAC 模型實戰指南

RBAC 模型核心原理 詳情可參考之前的筆記:https://blog.csdn.net/qq_35201802/article/details/146036789?spm1011.2415.3001.5331 RBAC 定義與優勢 RBAC(Role-Based Access Control,基于角色的訪問控制)** 是一種通過角色關聯…

如何收集用戶白屏/長時間無響應/接口超時問題

想象一下這樣的場景:一位用戶在午休時間打開某電商應用,準備購買一件心儀已久的商品。然而,頁面加載了數秒后依然是一片空白,或者點擊“加入購物車”按鈕后沒有任何反饋,甚至在結算時接口超時導致訂單失敗。用戶的耐心被迅速消耗殆盡,關閉應用,轉而選擇了競爭對手的產品…

用戶需求報告、系統需求規格說明書、軟件需求規格說明的對比分析

用戶需求報告、系統需求規格說明書(SyRS)和軟件需求規格說明書(SRS)是需求工程中的關鍵文檔,分別對應不同層次和視角的需求描述。以下是它們的核心區別對比: ??1. 用戶需求報告(User Requirem…

iostat指令介紹

文章目錄 1. 功能介紹2. 語法介紹3. 應用場景4. 示例分析 1. 功能介紹 iostat (input/output statistics),是 Linux/Unix 系統中用于監控 CPU 使用率和 磁盤 I/O 性能的核心工具,可實時展示設備負載、吞吐量、隊列狀態等關鍵指標。 可以使用 man iostat查…

神經網絡 “疑難雜癥” 破解指南:梯度消失與爆炸全攻略(六)

引言 在神經網絡的發展歷程中,梯度消失和梯度爆炸如同兩座難以翻越的大山,阻礙著深層神經網絡發揮其強大的潛力。尤其是在處理復雜任務時,這兩個問題可能導致模型訓練陷入困境,無法達到預期的效果。本文將深入探討梯度消失和梯度…

“多模態SCA+DevSecOps+SBOM風險情報預警 “數字供應鏈安全最佳管理體系!懸鏡安全如何用AI守護萬億數字中國?

夜深人靜,程序員青絲盯著屏幕上自動生成的代碼模塊陷入沉思。在AI大模型的加持下,僅用一周團隊就完成了原本需要半年的開發進度,但代碼審查時卻發現了不少高危漏洞。“生成效率提升了,但安全漏洞像定時炸彈一樣藏在代碼里”&#…

Node.js簡介(nvm使用)

Node.js是一個基于Chrome V8 JavaScript引擎構建的開源、跨平臺JavaScript運行環境。它允許開發者在服務器端運行JavaScript代碼,從而實現前后端統一的開發語言。Node.js具有事件驅動、非阻塞I/O模型,使其非常適合于構建高性能的網絡應用。 Node.js不是…

PHP日志會對服務器產生哪些影響?

PHP日志是服務器運維中非常重要的一部分,但處理不當會對服務器產生明顯的負面影響。下面我們從多個維度深入分析:PHP日志的作用、類型、對服務器的正面與負面影響,以及優化建議,讓你全面掌握這一問題。 一、PHP日志是什么? PHP…

Spring AI Alibaba-02-多輪對話記憶、持久化消息記錄

Spring AI Alibaba-02-多輪對話記憶、持久化消息記錄 Lison <dreamlison163.com>, v1.0.0, 2025.04.19 文章目錄 Spring AI Alibaba-02-多輪對話記憶、持久化消息記錄多輪對話對話持久-Redis 本次主要聚焦于多輪對話功能的實現&#xff0c;后續會逐步增加更多實用內容&…

分別配置Github,Gitee的SSH鏈接

文章目錄 前言一、為第二個賬號生成新的密鑰對二、 配置 SSH config 文件1.引入庫使用 Host 別名進行 clone/push/pull注意擴展 前言 之前已經在電腦配置過Github一個倉庫ssh鏈接&#xff0c;今天想配一個Gitee倉庫的ssh鏈接。運行 ssh-keygen -t rsa提示已經存在&#xff0c…

Python 獲取淘寶買家訂單詳情(buyer_order_detail)接口的詳細指南

在電商運營中&#xff0c;訂單詳情數據是商家進行數據分析、客戶服務和營銷策略制定的重要依據。淘寶提供了 buyer_order_detail 接口&#xff0c;允許開發者獲取買家的訂單詳情數據。本文將詳細介紹如何使用 Python 調用該接口獲取訂單詳情&#xff0c;并解析返回的數據。 一、…

C語言實戰:用Pygame打造高難度水果消消樂游戲

水果消消樂 - 困難模式 以下是一個基于Python和Pygame的水果消消樂游戲實現&#xff0c;包含困難模式的特點&#xff1a; import pygame import random import sys from pygame.locals import *# 初始化 pygame.init() pygame.mixer.init()# 游戲常量 FPS 60 WINDOW_WIDTH …

Doris-BrokerLoad任務監控

BrokeLoad監控 #!/bin/bash target_label$1 user$2 password$3looptrue echo "開始循環了----------------------" while ${loop} dolabel$(mysql -h FE_IP -P9030 -urealtime -ppassword -D offline -e "show load where label${target_label}")if [ -z &…

企業微信私域運營,基于http協議實現SCRM+AI完整解決方案

1、方案介紹 基于企業微信原生功能已實現全場景的能力覆蓋&#xff0c;并提供標準化可直接調用的API接口&#xff0c;可以幫助企業輕松實現上層應用的開發及落地&#xff0c;方案采用模擬通信技術可實現PC&#xff0c;手機&#xff0c;ipad三端的同時在線&#xff0c;單服務器…

Oracle Linux8 安裝 MySQL 8.4.3,搭建一主一從

文章目錄 安裝依賴獲取安裝包解壓準備相關目錄設置配置文件啟動數據庫連接數據庫socket 文件優化同樣方法準備 3307 數據庫實例設置配置文件啟動 3307 實例數據庫連接并查看 3307 數據庫實例基于 bin log 搭建主從模式 安裝依賴 yum install -y numactl libaio ncurses-compat…