为什么我 cmd可以执行单 sql的xp_cmdshell拒绝访问

flying8761 2010-07-10 10:22:28
cmd可以执行 echo 123>\\192.168.0.107\s\1.txt
共享文件可以访问修改\\192.168.0.107\s\1.txt
但执行 master..xp_cmdshell 'echo 123>\\192.168.0.107\s\1.txt' 就出现拒绝访问

2003系统 SqlServer2000 sa用户登录
我在xp系统都可以执行的 为什么2003不行
...全文
1777 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hokor 2010-07-10
  • 打赏
  • 举报
回复
xp_cmdshell 生成的 Windows 进程与 SQL Server 服务帐户具有相同的安全权限。
参考http://technet.microsoft.com/zh-cn/library/ms175046.aspx
hokor 2010-07-10
  • 打赏
  • 举报
回复
master..xp_cmdshell 'echo 123>c:\1.txt' 

如果上面能成功的话,应该是权限问题,没有权限访问网络。
检查SQL Server服务的登录名是不是LoaclSystem,如果是修改为“NT AUTHORITY\NetworkService”
或者Administrator ,重新启动SQL Server服务再试一下。
给我力量 2010-07-10
  • 打赏
  • 举报
回复
会不会是共享目录没有设置好呢,你先在系统上面试试,看看能不能进行修改操作
黄_瓜 2010-07-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 htl258 的回复:]

参考一下这里,把共享目录映射操作试试,应该是没有直接的访问权限:

http://blog.csdn.net/htl258/archive/2009/04/05/4047835.aspx
[/Quote]
tony 哥上qq
htl258_Tony 2010-07-10
  • 打赏
  • 举报
回复
参考一下这里,把共享目录映射操作试试,应该是没有直接的访问权限:

http://blog.csdn.net/htl258/archive/2009/04/05/4047835.aspx
flying8761 2010-07-10
  • 打赏
  • 举报
回复
我是在查询分析器里面写的,返回的就是拒绝访问,
登录 window身份验证 和 sa用户 都试过都不行
是不是什么服务没开
claro 2010-07-10
  • 打赏
  • 举报
回复
帮顶

应该是写法有问题,比如漏了一些登录信息。另外window身份验证应该不行,除非本机已经用管理员连上目标机器。
htl258_Tony 2010-07-10
  • 打赏
  • 举报
回复
我是用WINDOWS认证用户登录操作的。
htl258_Tony 2010-07-10
  • 打赏
  • 举报
回复
我在XP系统试也是相同的提示,在CMD模式下可以。
SQL77 2010-07-10
  • 打赏
  • 举报
回复
貌似上次导出EXCEL也可以在WINDOWS2003上执行xp_cmdshell

楼主用语句在查询分析器试试
永生天地 2010-07-10
  • 打赏
  • 举报
回复
SqlServer2000 sa用户登录
换windows身份验证登录
htl258_Tony 2010-07-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 flying8761 的回复:]
越搞越复杂了,
我 master..xp_cmdshell 'echo 123>c:\1.txt' 是可以写入的
但 master..xp_cmdshell 'echo 123>\\192.168.0.107\s\1.txt' 就无法写入
直接在cmd里面 echo 123>\\192.168.0.107\s\1.txt 又可以写入
sql服务器是2003的系统,107是xp的系统
是不……
[/Quote]

1.开始-->运行-->services.msc-->找到SQL SERVER的服务名并双击-->登录-->在下面输入具有超级管理员权限的用户和密码-->确定.
2.右键SQL SERVER服务名,重新启动服务.
3.再到SQL中执行那段命令,应该可以了。

照以上步骤做一下再试试。
obuntu 2010-07-10
  • 打赏
  • 举报
回复
很明显是权限的问题。

xp_cmdshell是以跑“MSSQLSERVER"服务的账号来运行的,如果从配置管理器里面看,一般看到的是”本地系统“
你参照上面所提到的,确认你跑“MSSQLSERVER”的windows账户,是否有权限访问远程。
flying8761 2010-07-10
  • 打赏
  • 举报
回复
越搞越复杂了,
我 master..xp_cmdshell 'echo 123>c:\1.txt' 是可以写入的
但 master..xp_cmdshell 'echo 123>\\192.168.0.107\s\1.txt' 就无法写入
直接在cmd里面 echo 123>\\192.168.0.107\s\1.txt 又可以写入
sql服务器是2003的系统,107是xp的系统
是不是系统问题,我试下装一样的系统
hokor 2010-07-10
  • 打赏
  • 举报
回复
Local System/Network Service/Local Service权限详解
1.Local System (本地系统):
该账户具有相当高的权限。
首先,该账户也隶属于本地Administrators 用户组,因此所有本地Administrators用户能够进行的操作该账户也能够进行,
其次,该账户还能够控制文件的权限(NTFS 文件系统)和注册表权限,甚至占据所有者权限来取得访问资格。
如果机器处于域中,那么运行于Local System 账户下的服务还可以使用机器账户在同一个森林中得到其他机器的自动认证,
最后一点就是运行于Local System 下的进程能够使用空会话(null session)去访问网络资源。
而且,其他一些Windows 用户模式下的核心组件也运行于该账户下,例如system32\Smss.exe 等。
需要注意的是,运行于此账户下的进程使用的是HKEY_USERS\.Default 账户配置,因此它不能够访问其他账户的配置。

举例来说,以LocalSystem账户运行的服务主要有:WindowsUpdate Client、 Clipbook、Com+、DHCP Client、Messenger

Service、Task Scheduler、Server Service、Workstation Service,还有Windows Installer。

2.Network Service(网路服务):
该账户也是为了使用机器账户在网络上的其他计算机上认证而设定的。但是他没有Local System 那么多的权限。
它能够以计算机的名义访问网络资源。以这个账户运行的服务会根据实际环境把访问凭据提交给远程的计算机。
运行于此账户下的进程使用网络账户配置文件HKEY_USERS\S-1-5-20和Documents and Settings\NetworkService。

举例来说,以Network Service账户运行的服务主要有:Distributed Transaction Coordinator、DNS Client、

Performance Logs and Alerts,还有RPC Locator。

3.Local Service(本地服务):
Local Service账户是预设的拥有最小权限的本地账户,并在网络凭证中具有匿名的身份。
运行于此账户下的进程和运行于Network Service 账户下的进程的区别
在于运行于Local Service 账户下的进程只能访问允许匿名访问的网络资源。
运行于Local Service 下的账户使用的配置文件是HKU\S-1-5-19 和Documents and Settings\LocalService。

举例来说,以Local Service账户运行的服务主要有:Alerter、Remote Registry、Smart Card、SSDP,还有WebClient


讲的挺好,不过不太懂。。。
htl258_Tony 2010-07-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hokor 的回复:]
SQL code
master..xp_cmdshell 'echo 123>c:\1.txt'

如果上面能成功的话,应该是权限问题,没有权限访问网络。
检查SQL Server服务的登录名是不是LoaclSystem,如果是修改为“NT AUTHORITY\NetworkService”
或者Administrator ,重新启动SQL Server服务再试一下。
[/Quote]
的确是权限的问题,把SQL服务的登录名改为 .\administrator ,输入密码后重启就可以了。

22,299

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧