文件夹 文件 加入/去除 Everyone全控

本文介绍如何通过编程方式为文件夹及文件添加或移除Everyone组的完全控制权限,提供了两种实现方法:一种是使用.NET Framework的API,另一种是通过调用CMD命令实现。
文件夹 加入/去除 Everyone全控
Code
文件夹 加入/去除 Everyone全控#region 文件夹 加入/去除 Everyone全控
protected void Button2_Click(object sender, EventArgs e)
{
    
/**/////--增加方法1
    //string DirectoryName = "D:\\Free";
    
//DirectoryInfo dInfo = new DirectoryInfo(DirectoryName);
    
//DirectorySecurity dSecurity = dInfo.GetAccessControl();
    
//dSecurity.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
    
//dInfo.SetAccessControl(dSecurity);

    
/**/////--去除方法1
    //string DirectoryName = "D:\\Free";
    
//DirectoryInfo dInfo = new DirectoryInfo(DirectoryName);
    
//DirectorySecurity dSecurity = dInfo.GetAccessControl();
    
//dSecurity.RemoveAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
    
//dInfo.SetAccessControl(dSecurity);

    
/**/////--增加方法2
    //string fileName = "D:\\Free"; ;
    
//string strArguments = "  /C Cacls  " + fileName + " /t /e /c /g Everyone:f";
    
//System.Diagnostics.Process process = new System.Diagnostics.Process();
    
//process.StartInfo.CreateNoWindow = true;
    
//process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    
//process.StartInfo.FileName = "cmd.exe";
    
//process.StartInfo.Arguments = strArguments;
    
//process.Start();

    
/**/////--去除方法2
    //string fileName = "D:\\Free"; ;
    
//string strArguments = "  /C Cacls  " + fileName + " /t /e /c /r Everyone";
    
//System.Diagnostics.Process process = new System.Diagnostics.Process();
    
//process.StartInfo.CreateNoWindow = true;
    
//process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    
//process.StartInfo.FileName = "cmd.exe";
    
//process.StartInfo.Arguments = strArguments;
    
//process.Start();

}

#endregion

文件 加入/去除 Everyone全控
Code
文件 加入/去除 Everyone全控#region 文件 加入/去除 Everyone全控
protected void Button1_Click(object sender, EventArgs e)
{
    
/**/////--增加方法1
    //string fileName = "D:\\Free.txt";
    
//FileSecurity fSecurity = File.GetAccessControl(fileName);
    
//fSecurity.AddAccessRule(new FileSystemAccessRule("Everyone",FileSystemRights.FullControl,AccessControlType.Allow));
    
//File.SetAccessControl(fileName, fSecurity);

    
/**/////--去除方法1
    //string fileName = "D:\\Free.txt";
    
//FileSecurity fSecurity = File.GetAccessControl(fileName);
    
//fSecurity.RemoveAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
    
//File.SetAccessControl(fileName, fSecurity);

    
/**/////--增加方法2
    //string fileName = "D:\\Free.txt"; ;
    
//string strArguments = "  /C Cacls  " + fileName + " /t /e /c /g Everyone:f";
    
//System.Diagnostics.Process process = new System.Diagnostics.Process();
    
//process.StartInfo.CreateNoWindow = true;
    
//process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    
//process.StartInfo.FileName = "cmd.exe";
    
//process.StartInfo.Arguments = strArguments;
    
//process.Start();      

    
/**/////--去除方法2
    //string fileName = "D:\\Free.txt"; ;
    
//string strArguments = "  /C Cacls  " + fileName + " /t /e /c /r Everyone";
    
//System.Diagnostics.Process process = new System.Diagnostics.Process();
    
//process.StartInfo.CreateNoWindow = true;
    
//process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    
//process.StartInfo.FileName = "cmd.exe";
    
//process.StartInfo.Arguments = strArguments;
    
//process.Start();

}

#endregion

cacls /?
Code
Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>cacls /?
显示或者修改文件的访问控制列表(ACL)

CACLS filename [/T] [/M] [/S[:SDDL]] [/E] [/C] [/G user:perm] [/R user []]
               [/P user:perm []] [/D user []]
   filename      Displays ACLs.
   /T            更改当前目录及其所有子目录中指定
                 文件的 ACL。
   /M            将装入卷的 ACL 更改到目录。
   /S            显示 DACL 的 SDDL 字符串。
   /S:SDDL       用 SDDL 字符串中指定的 ACL 替换
                 (与 /E、/G、/R、/P 或 /D 一起使用时无效)。
   /E            编辑 ACL 而不替换。
   /C            在出现拒绝访问错误时继续。
   /G user:perm  赋予指定用户访问权限。
                 Perm 可以是: R 读取
                              W  写入
                              C  更改(写入)
                              F 完全控制
   /R user       撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。
   /P user:perm  替换指定用户的访问权限。
                 Perm 可以是: N 无
                              R 读取
                              W 写入
                              C 更改(写入)
                              F 完全控制
 /D user         拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。也可以在命令中指定
多个用户。

缩写:
   CI - 容器继承。
        ACE 会由目录继承。
   OI - 对象继承。
        ACE 会由文件继承。
   IO - 只继承。
        ACE 不适用于当前文件/目录。

C:\Documents and Settings\Administrator>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值