当前位置: 首页 > 图文教程 > 网络编程 > ASP > WSH实用讲座---第四讲 配置目录权限

ASP
论坛树状记录表的堆栈展开
Oracle大文本在ASP中存取问题的解决
ASP创建SQL Server数据库的两种方法
浅谈session_onend的调试
用ASP访问数据库的几种常见方式
教你一次下载网页中的所有资源
20种看asp源码的方法及工具
在ASP中使用智岛网格控件全过程
解决使用ASP无法连接ORACLE 9i数据库的问题
用Js判断输入的时间是否有效
ADO数据与XML数据间的转换的类
使用命名管道访问SQL Server
网页加速之网页结构篇
在红蜻蜓中实现多房间
在ASP中使用Oracle数据库技巧
关于分页办法
在VB中使用API函数(Any)
网站ASP漏洞小总结
网页之定时器详解
实用函数- 判断输入的是否是电话号码

ASP 中的 WSH实用讲座---第四讲 配置目录权限


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 49 ::
收藏到网摘: n/a

  即配置目录的ACL,至于该如何配置权限,才能让你的服务器是安全的,那得根据你自己的客观实际了,而且,这也是商业秘
密。我这里只是说明用脚本实现的方法。

  有两种方法可以完成这个任务(也许还有其他的方法),一种是采用第三方组件(我经常使用的是NTAccess.Permission,这
是个要MONEY的东东,但是我把系统时间改成1997年4月25日,这样,它就不认为我过期了,等执行完脚本,我再改回1999年4月25
日,呵呵。另外一个是SA的FILEMANAGER,功能强大,但体积也大);另一种是在WSH里调用NT的命令行cacls.exe,它的用法为
(摘自NT的帮助文件):

Cacls

显示或修改文件访问控制表(ACL)。

cacls filename [/t] [/e] [/c] [/g user:perm] [/r user [...]] [
/p user:perm [...]] [/d user [...]]

参数

filename

显示文件或指定文件的访问控制表 ACL 。

/t

在当前目录及所有子目录下改变指定文件的 ACL 。

/e

编辑 ACL,但不替换。

/c

继续更改 ACL,并忽略错误。

/g user:perm

将访问权授予指定用户。Perm 可以是:
r  读取
c  更改(写)
f  完全控制

/r user

撤消指定用户的访问权。

/p user:perm

还原指定用户的访问权。Perm 可以是:

n  无
r   读取
c  更改(写)
f  完全控制

/d user

拒绝指定用户的访问。

可以在一个命令中指定多个文件或用户。

  使用NTAccess.Permission的一个例子如下:

Rem ----------------------------
Rem 定义常量
Rem ----------------------------
const ntpNoAccess = 1
const ntpRead = 2
const ntpWrite = 4
const ntpExecute = 8
const ntpDelete = 16
const ntpPermissions= 32
const ntpOwnership = 64

const ntpFileRights = 1
const ntpDirRights = 2

ntpChange = ntpRead + ntpWrite + ntpExecute + ntpDelete
ntpFull = ntpChange + ntpPermissions + ntpOwnership

Rem -----------------------------------------------
Rem 开始设置
Rem -----------------------------------------------
WScript.Echo "开始设置."
Set ntp = CreateObject("NTAccess.Permissions")

set acl = ntp.File("d:\test", true )

' add No Access entries first
acl.Add "Users" , ntpNoAccess, ntpFileRights
acl.Add "Users" , ntpNoAccess, ntpDirRights

' now delete any ACE's we want to remove
acl.Delete "Everyone", ntpFileRights
acl.Delete "Everyone", ntpDirRights

' now add any other new ACE's
acl.Add "Administrators", ntpFull, ntpFileRights
acl.Add "Administrators", ntpFull, ntpDirRights

acl.Add "white", ntpChange, ntpFileRights
acl.Add "white", ntpChange, ntpDirRights

' finally remember to call save
acl.save
WScript.Echo "已经完成设置!"

  使用cacls的一个例子如下:

Set WshShell = Wscript.CreateObject("Wscript.Shell")
userdir = "d:\userdate"
username = "white"
argu = userdir & " /t /e /p " & username & ":f"
WshShell.Run ("c:\winnt\system32\cacls " & argu)