Private Sub SetCacls(UserName, Path)
Dim WScript
Dim sCommand
sCommand = "cmd /c echo y| cacls """ & Path & """ /g " & UserName &":f /e"
'Call CreateDir(Path)
Set WScript = CreateObject("WScript.Shell")
WScript.Run sCommand, 0, True
Set WScript = Nothing
IF Err.Number <> 0 Then
'Alert("设置目录安全失败")
Exit Sub
End IF
End Sub
这是最近在写的一个IIS管理类(完成99%),需要用cacls设置站点目录的安全(把指定用户添加到目录属性的安全标签下),
以限制ASP的FSO和ASP.NET的System.IO非法访问,现在问题在于,经过测试上面的程序用cacls执行的时候(程序是以Administrator权限运行的),
是以Users组的权限运行的,所以Users组必须对待设置目录有完全的控制权限方可设置,但是如果Users组有完全的权限,
FSO和System.IO也将有完全权限。不知道能否让cacls也以Administrator的权限运行?或者对于解决这个问题还有没有其它变通的方法?
P.S.我测试环境为Win2003