我想運行xp_cmdshell(TSQL過程)以便裝入網絡驅動器,然後訪問遠程mdb文件。以特定用戶身份執行xp_cmdshell命令
我是MS SQL服務器上的管理員,我允許xp_cmdshell相應地執行。
然而,仍然有一個問題:
當我打電話xp_cmdshell的,執行命令的用戶是SQL 系統管理員,即誰運行SQL Server進程的帳戶。
我希望的xp_cmdshell執行作爲與我連接到SQL Server的帳戶,即管理員
論文的兩個賬戶都在管理員組,SQLAdmin組,並授予控制服務器。兩個用戶都屬於同一個域。所有這些都在同一臺機器上運行。
因爲這個矛盾的,我不能,因爲它被安裝用於系統管理員而不是管理員
使用的網絡驅動器,我試圖用以sp_ xp_ cmdshell_ proxy_佔指定與我想要的帳戶運行xp_cmdshell,但系統管理員仍然是使用的帳戶。
因此,此代碼:
select user_name(), suser_name;
exec xp_cmdshell 'echo %username%';
顯示:
Administrator Administrator
SysAdmin
有誰知道如何來冒充好了xp_cmdshell的命令?有什麼(重新)配置?
感謝您的幫助。
代理帳戶時,非系統管理員用戶執行xp_cmdshell – 2009-07-07 14:01:26
那麼我怎麼能強迫一個特定的系統管理員用戶只使用? – Antwan 2009-07-07 14:19:15
只是爲了澄清 - 您已使用sp_xp_cmd_shell_proxy_account設置要使用的帳戶,然後使用xp_cmdshell執行該命令,並且使用的帳戶仍是服務帳戶?我只是想確保我理解你的步驟。 – SqlRyan 2009-07-28 03:19:29