荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: zzt (我命由我不由天), 信区: Microsoft
标 题: 第四讲 配置目录权限
发信站: BBS 荔园晨风站 (Fri Apr 30 23:05:51 1999), 转信
第四讲 配置目录权限
-------------------------------------------------------------------------
-------
即配置目录的ACL,至于该如何配置权限,才能让你的服务器是安全的,那得根
据你自己的客观实际了,而且,这也是商业秘密。我这里只是说明用脚本实现的方法
。
有两种方法可以完成这个任务(也许还有其他的方法),一种是采用第三方组件(
我经常使用的是NTAccess.Permission,这是个要MONEY的东东,但是我把系统时间改
成1997年4月25日,这样,它就不认为我过期了,等执行完脚本,我再改回1999年4月2
5日,呵呵。另外一个是SA的FILEMANA
GER,功能强大,但体积也大);另一种是在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)
--
日出东方,唯我不败;
天上地下,唯我独尊。
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.144]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店