程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP入門教程 >> WSH實用講座---第四講 配置目錄權限

WSH實用講座---第四講 配置目錄權限

編輯:ASP入門教程
即配置目錄的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)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved