none
如何才能让EXEC master..xp_cmdshell通过域验证 RRS feed

  • 问题

  • 在SQl里执行EXEC master..xp_cmdshell的用户怎么才能通过域验证?

    假设sql里,执行EXEC master..xp_cmdshell的用户是A,这个A仅仅是SQl的用户,不一定是windows的用户,那么怎么样才能让EXEC master..xp_cmdshell的执行用户,能通过域验证,能够访问域里的信息?

    2010年8月17日 13:15

答案

  • 默认xp_cmdshell会使用sqlserver服务的启动账户的安全上下文.

    如果你的sqlserver服务的账户是域账户,直接用就好了.

     

    或者为xp_cmdshell创建一个凭据,让xp_cmdshell以那个凭据的安全上下文运行.

    你可以查看一下sp_xp_cmdshell_proxy_account


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年8月18日 2:19
    版主

全部回复

  • If user a is sysadmin, sql will authenticate with sql service account. Otherwise will use local windows account. That's what I understand, you can test it.
    2010年8月17日 13:26
  • I know that you can use the domain administrator to start the SQL implementation, but also the environment in the domain of the Working Group, this must be the establishment of a common local account can have no other way.

    我知道可以用域管理员来启动SQL实现,但是环境中有域也有工作组,这样做必须建立一个通用的本地帐号才可以,有没有其他办法.

    2010年8月17日 14:12
  • Workgroup account can't access anything in domain.
    2010年8月17日 14:38
  • 本地建立帐号,域中服务器也建立同样帐号,密码一样
    就可以访问了。谢谢。应该还有别的方法
    Local creating an account, also set up the same domain server account password the same as
    You can visit。
    thanks you

    There are other methods should be

    2010年8月17日 15:29
  • You may able to get info of machine in the domain that way, but can't get info of domain. 
    2010年8月17日 16:45
  • 默认xp_cmdshell会使用sqlserver服务的启动账户的安全上下文.

    如果你的sqlserver服务的账户是域账户,直接用就好了.

     

    或者为xp_cmdshell创建一个凭据,让xp_cmdshell以那个凭据的安全上下文运行.

    你可以查看一下sp_xp_cmdshell_proxy_account


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年8月18日 2:19
    版主