亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

C#修改文件或文件夾的權限

標簽:
C#

写在前面

在windows系统中,c盘中的目录权限比较高,有时制作安装包的时候,默认的安装路径就是在c盘,但对运行可执行文件,有时候需要为其添加完全控制权限,或者读写权限。这里将当时的解决方案记录一下。

代码实现

在C盘添加一个文件夹,并在文件夹内部,新建一个文本文件,如图所示:

该文件夹下,新建一个文本文件,如图所示:

为文件添加完全控制权限:

复制代码

        /// <summary>
       /// 为文件添加users,everyone用户组的完全控制权限
       /// </summary>
       /// <param name="filePath"></param>
       static void AddSecurityControll2File(string filePath)
       {

           //获取文件信息
           FileInfo fileInfo = new FileInfo(filePath);
           //获得该文件的访问权限
           System.Security.AccessControl.FileSecurity fileSecurity = fileInfo.GetAccessControl();
           //添加ereryone用户组的访问权限规则 完全控制权限
           fileSecurity.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
           //添加Users用户组的访问权限规则 完全控制权限
           fileSecurity.AddAccessRule(new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow));
           //设置访问权限
           fileInfo.SetAccessControl(fileSecurity);
       }

复制代码

为文件夹添加完全控制权限


        /// <summary>
       ///为文件夹添加users,everyone用户组的完全控制权限
       /// </summary>
       /// <param name="dirPath"></param>
       static void AddSecurityControll2Folder(string dirPath)
       {
           //获取文件夹信息
           DirectoryInfo dir = new DirectoryInfo(dirPath);
           //获得该文件夹的所有访问权限
           System.Security.AccessControl.DirectorySecurity dirSecurity = dir.GetAccessControl(AccessControlSections.All);
           //设定文件ACL继承
           InheritanceFlags inherits = InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit;
           //添加ereryone用户组的访问权限规则 完全控制权限
           FileSystemAccessRule everyoneFileSystemAccessRule = new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Allow);
           //添加Users用户组的访问权限规则 完全控制权限
           FileSystemAccessRule usersFileSystemAccessRule = new FileSystemAccessRule("Users", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Allow);
           bool isModified = false;
           dirSecurity.ModifyAccessRule(AccessControlModification.Add, everyoneFileSystemAccessRule, out isModified);
           dirSecurity.ModifyAccessRule(AccessControlModification.Add, usersFileSystemAccessRule, out isModified);
           //设置访问权限
           dir.SetAccessControl(dirSecurity);
       }


总结

在操作文件的时候,还是比较简单的,不过文件夹就比较复杂了,牵扯到是否要继承的问题。

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消