【发布时间】:2012-09-26 14:47:33
【问题描述】:
不知道是不是应该这样。当我试图用xp_cmdshell 程序做任何事情时,它几乎每次都会给我Access Denied。
例如我无法创建新的.txt 文件,无法创建新用户,什么都没有。我以 Windows 管理员用户身份登录。
有没有办法以管理员权限运行此过程?
【问题讨论】:
标签: sql-server permissions xp-cmdshell
不知道是不是应该这样。当我试图用xp_cmdshell 程序做任何事情时,它几乎每次都会给我Access Denied。
例如我无法创建新的.txt 文件,无法创建新用户,什么都没有。我以 Windows 管理员用户身份登录。
有没有办法以管理员权限运行此过程?
【问题讨论】:
标签: sql-server permissions xp-cmdshell
XP_CmdShell 将在运行 SQL Server 服务的服务帐户的上下文中执行。服务帐号需要对外部资源的权限。
但是,我能否指出,启用 xp_cmdshell 并不是一个好主意。它打开了许多安全漏洞。例如,如果您的应用程序对 SQL 注入具有未知的脆弱性,那么黑客可能会在您的网络上进行各种您宁愿避免的事情。
如果您必须使用外部资源,那么更好的方法将包括 CLR 过程或调用执行 CMDEXEC 步骤的作业。
【讨论】:
xp_cmdshell 由 Windows 登录执行,正在模拟上下文中执行。因此,对远程资源的任何访问(例如,访问共享上的文件,对 AD 的操作(如添加用户))都将受到约束委派限制,可能导致访问被拒绝,因为可能不配置约束委派在所有这些资源上。
【讨论】: