【问题标题】:SQL Server : xp_cmdshell have very limited privilegiesSQL Server:xp_cmdshell 的权限非常有限
【发布时间】:2012-09-26 14:47:33
【问题描述】:

不知道是不是应该这样。当我试图用xp_cmdshell 程序做任何事情时,它几乎每次都会给我Access Denied

例如我无法创建新的.txt 文件,无法创建新用户,什么都没有。我以 Windows 管理员用户身份登录。

有没有办法以管理员权限运行此过程?

【问题讨论】:

    标签: sql-server permissions xp-cmdshell


    【解决方案1】:

    XP_CmdShell 将在运行 SQL Server 服务的服务帐户的上下文中执行。服务帐号需要对外部资源的权限。

    但是,我能否指出,启用 xp_cmdshell 并不是一个好主意。它打开了许多安全漏洞。例如,如果您的应用程序对 SQL 注入具有未知的脆弱性,那么黑客可能会在您的网络上进行各种您宁愿避免的事情。

    如果您必须使用外部资源,那么更好的方法将包括 CLR 过程或调用执行 CMDEXEC 步骤的作业。

    【讨论】:

      【解决方案2】:

      xp_cmdshell 由 Windows 登录执行,正在模拟上下文中执行。因此,对远程资源的任何访问(例如,访问共享上的文件,对 AD 的操作(如添加用户))都将受到约束委派限制,可能导致访问被拒绝,因为可能不配置约束委派在所有这些资源上。

      【讨论】:

        猜你喜欢
        • 2020-08-30
        • 2012-03-29
        • 1970-01-01
        • 1970-01-01
        • 2015-09-06
        • 2022-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多