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

ASP
自动采集程序
一个防止被采集的方法
帮你打造属于自己的搜索引擎---百度篇
实例讲解ASP实现抓取网上房产信息
XMLHTTP批量抓取远程资料
XMLHTTP抓取远程数据的后期处理
用XMLHTTP很好的一个例子
采集原理---采集技术篇---XMLHTTP
小偷,采集程序常用函数
服务器常用组件
如何在不支持数据库的asp主页上运用ado
做文章系统时, 如何让长篇的文章自动换行
Access中使用Create Procedure创建存储过程
ASP中的时间函数大全 时间操作函数
无组件实现文件上传/下载
asp网页邮箱访问
不用模板只用ASP+FSO生成静态HTML页的一个方法
用sql设置access的默认值
Asp事务处理
统计有多少行JS代码和ASP代码

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


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