setacl,比较关心安全方面的人应该都认识,一个windows下用的系统权限设置软件. setacl的官网:http://setacl.sourceforge.net/index.html
其实windows下原来就有像cacls等一些自带的命令,但按功能来说,没setacl来得强。可以看到它有ActiveX和命令行版,支持ntfs文件、注册表、网络共享、服务、活动目录、进程等。 不过我常用的就只有文件和注册表了。现在就来说说命令行的应用。
在它官网也有一些用法例子可以看,下载的还有帮助文档,但以前英文太差了。一看就晕,补个那时翻译的一点点笔记。
基本语法如下:
Setacl.exe -on "<对象名称(就是路径)>" -ot <对象类型> -actn <行为> <行为的子选项> "具体动作"
对象名称: 加在-on 后面,必加项,就是路径了,这个就不用说了。
对象类型:加在-ot 后面,必加项,主要就是说明这条命令是来设置哪种路径的,比如说明:file 就是文件、reg: 注册表项、srv:服务、prn:打印机、shr:共享。
行为:加在-actn 后面, 必加项,一条命令里面可以有多个行为,说明这条命令主要对路径做什么的,并执行这个行为的子选项。
如:
ace 权限设置,它的子选项有 -ace
trustee 委托,它的子选项有 -trst
domain 域范围,它的子选项有 -dom
list 允许列表,子选项:-bckp 备份文件列表、 -lst 控制
还有一些如restore恢复、setowner设置委托人、setgroup设置组、clear清除、setprot继承、rstchldrn重置等,比较常用的还是用ace,呵呵。
行为子选项:加在行为后面的选项,主要选项上面有了,一个行为也可以有多个子选项。如一个-actn ace后面可以跟多个 -ace来分别为不同的地方设置权限。
具体动作:设置权限的主要函数。看你要给谁,给它什么权限,写在这就对了。
他也有一些子选项如:每个选项后一定要加分号!
n: 就是name,就要是说明域名,用户名之类;如:所有用户n:everyone;
m: Mode,模式吧,指明是要允许、拒绝deny、审计audit之类的,默认是在允许。要拒绝如m:deny;
p: permission(大概是这个,忘记了),大概是权限范围,如:只读就是p:read;、完全控制p:full;、可写p:writer;、读并执行p:read_ex;、更改p:Change;、更改权限p:profile;|当然还有些不常用的,如打印机的man_printer、服务的start_stop等
i: Inheritance继承。如i:np;表示不继承、i:io;唯一继承、i:so;子对象继承、i:sc;子容器等
还有些不常用的如:s 委托人、w 选择使用dacl或sacl。
好,给个例子:
setacl "c:aa" -ot file –actn ace –ace "n:everyone;m:deny;p:writer;i:np" 表示C:aa这目录或文件拒绝everyone所有人的写入,里面的所有文件并不继承这个权限。setacl "HKLMSoftwareMicrosoftInternet ExplorerToolbar" -ot reg –actn ace –ace "n:everyone;m:deny;p:full;i:so" 表示HKLMSoftwareMicrosoftInternet ExplorerToolbar拒绝所有人的全部权限。
相关还有些例子可以去官网上看http://setacl.sourceforge.net/html/examples.html