您的位置:首页 > 其它

添加window服务,修改安装目标文件夹的权限(ntfs)

2008-10-16 19:43 302 查看
////////////////////////////////////////////////////////////////////////////////////////////////////////
function Modify_FolderPermission()
string sBatFile;sCmdLine ;
begin
sBatFile = SUPPORTDIR^"modify.bat";
sCmdLine = "";
//运行批处理文件
if (LaunchApp (sBatFile , sCmdLine ) < 0) then
MessageBox ("修改文件夹权限失败!", SEVERE);
endif;
end;
/////////////////////////////////////////////////////////////////////////////////
modify.bat 里的内容为:
echo y| CACLS c:/mydocument /t /e /c /g everyone:F

相关ntfs权限设置资料:(来源:Ruery's Blog)
Cmd下修改文件访问控制权限

保证自己的磁盘分区格式是NTFS.FAT32是不行的.
一、Cacls.exe命令的使用
这是一个在Windows 2000/XP/Server 2003操作系统下都可以使用的命令,作用是显示或者修改
文件的访问控制表,在命令中可以使用通配符指定多个文件,也可以在命令中指定多个用户。
命令语法如下:

Cacls filename [/T] [/E] [/C] [/G usererm] [/R user [...]] [/P usererm [...]] [/D user [...]]

Filename:显示访问控制列表(以下简称ACL)

/T:更改当前目录及其所有子目录中指定文件的ACL

/E:编辑ACL而不替换

/C:在出现拒绝访问错误时继续   

/G Userer:perm:赋予指定用户访问权限,Perm代表不同级别的访问权限,其值可以是R(读取)、W(写入)、C(更改,写入)、F(完全控制)等。

/R user:撤销指定用户的访问权限,注意该参数仅在与“/E”一起使用时有效。

/P user:perm:替换指定用户的访问权限,perm的含义同前,但增加了“N(无)”的选项。

/D user:拒绝指定用户的访问。

①:查看文件夹的访问控制权限

查看C:/ruery文件夹的访问控制权限,那么只需要在"开始→运行"对话框或切换到命令提示符模式下,键入如下命令:
Cacls C:/ruery

此时,我们会看到所有用户组和用户对C:/ruery文件夹的访问控制权限项目.
CI表示ACE会由目录继承.
OI表示ACE会由文件继承.
IO表示ACI不适用于当前文件或目录.
每行末尾的字母表示控制权限,例如"F"表示完全控制,"C"表示更改,"W"表示写入."R"表示读取

如果你希望查看该文件夹中所有文件(包括子文件夹中的文件)的访问控制权限(见图1),可以键入"Cacls C:/ruery ."命令.

②:修改文件夹的访问控制权限

假如你希望给予本地用户ruery完全控制C:/ruery文件夹及子文件夹中所有文件的访问权限,只需要键入如下命令:
Cacls C:/ruery /t /e /c /g ruery:F
"/t"表示修改文件夹及子文件夹中所有文件的ACL.
"/e"表示仅做编辑工作而不替换.
"/c"表示在出现拒绝访问错误时继续.
"/g ruery:F"表示给予本地用户ruery以完全控制的权限.
"f"代表完全控制,如果只是希望给予读取权限,那么应当是"r"

③:撤销用户的访问控制权限

如果你希望撤销ruery用户对C:/ruery文件夹及其子文件夹的访问控制权限,可以键入如下命令:
cacls C:/ruery /t /e /c /r ruery

如果只是拒绝用户的访问,那么可以键入如下命令:
cacls C:/ruery /t /e /c /d ruery

cacls.exe c:/windows/system32/net.exe /c /e /t /g administrators:F
cacls.exe c:/windows/system32/dllcache/net.exe /c /e /t /g administrators:F

cacls.exe c:/windows/system32/net.exe /c /e /t /g everyone:F
cacls.exe c:/windows/system32/dllcache/net.exe /c /e /t /g everyone:F

cacls.exe c:/windows/system32/net.exe /c /e /t /g system:F
cacls.exe c:/windows/system32/dllcache/net.exe /c /e /t /g system:F

cacls.exe c:/windows/system32/net.exe /c /e /t /g administrator:F
cacls.exe c:/windows/system32/dllcache/net.exe /c /e /t /g administrator:F

cacls.exe c: /e /t /g everyone:F    #把d盘设置为everyone可以浏览
cacls.exe d: /e /t /g everyone:F    #把d盘设置为everyone可以浏览
cacls.exe e: /e /t /g everyone:F     #把e盘设置为everyone可以浏览
cacls.exe f: /e /t /g everyone:F     #把f盘设置为everyone可以浏览
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐