当你提交代码到IT IOM服务器时,如果在代码中使用了操作系统的SHELL命令,比如FILENAME PIPE或者SYSTASK命令等,那么运行这些代码的时候会报告如下错误:
ERROR: Access is denied.
或者
ERROR: Insufficient authorization for SYSTASK COMMAND.
由于安全原因,Object Spawner默认是使用NOXCMD选项,这样可以预防客户端提交任意类型的操作系统命令
如当前用户拥有超级用户权限,那么Object Spawner在启动的时候可以加入ALLOWXCMD或者NONOXCMD选项,这样可以允许客户端使用操作系统的命令。这是可以工作的,但WIN2003SERVER例外。
要在WIN2003中正确解决这个问题,则需要为BATCH组赋予对cmd.exe命令的读/执行权限。
要验证BATCH组已经具有相应的权限,可以运行下面命令查看:
C:\WINDOWS\system32> cacls %COMSPEC%
如果权限正确,你会看到类似下面的输出:
C:\WINDOWS\system32\cmd.exe BUILTIN\Administrators:F
NT AUTHORITY\BATCH:R
NT AUTHORITY\INTERACTIVE:R
NT AUTHORITY\SERVICE:R
NT AUTHORITY\SYSTEM:F
PCR64DUAL2\TelnetClients:R
下面的步骤指导你对BATCH租为CMD.EXE命令赋予读/执行权限
1.) 你必须用超级用户登录
2.) 定位到C:\WINDOWS\system32\cmd.exe文件
3.) 在文件中右击鼠标,在弹出的快捷菜单上选择属性子菜单项,然后在安全卡片上,单击高级按钮
4.) 在高级安全设置窗口的权限卡片上,单击添加按钮
5.) 在输入对象名称以选择字段中输入BATCH,然后单击检查名称按钮,如果输入正确,BATCH名称会出现下划线。然后单击确定按钮
6.) 在权限窗口,为BATCH用户组选上允许读取/运行、读取2个子项
7.) 单击确认保存修改结果。