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

ASP
IIS的安装和配置全过程
多语言网站开发技术分析
ASP完美转化ACCESS为SQL数据库连接
解决IIS下UTF-8文件报错乱码的问题
ASP打开任何类型文件提示保存
ASP教程:Stream 速查
asp生成UTF-8格式的文件
动态网站建站应知应会
2000/XP IIS配置问题
怎样在xp下配置iis
ASP教程:数组数据排序的程序例子
ASP教程:ASP是不区分大小写
一些语言的标识符的命名规则
ASP教程:表单内容提交到XML文件中
ASP是不是值得学习呢?
详细的关于ASP缓存类的教程
ASP教程:ASP关于数组的应用技巧
ASP教程:Expires 属性的介绍
SQL关于特殊字符处理的基本方法
XMLHTTP实时进行表单数据的校验

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 107 ::
收藏到网摘: 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)