C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
2023-09-14 09:01:01 时间
在windows系统中,c盘中的目录权限比较高,有时制作安装包的时候,默认的安装路径就是在c盘,但对运行可执行文件,有时候需要为其添加完全控制权限,或者读写权限。这里将当时的解决方案记录一下。
在C盘添加一个文件夹,并在文件夹内部,新建一个文本文件,如图所示:
该文件夹下,新建一个文本文件,如图所示:
为文件添加完全控制权限:
![复制代码](http://common.cnblogs.com/images/copycode.gif)
/// 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); }
![复制代码](http://common.cnblogs.com/images/copycode.gif)
为文件夹添加完全控制权限
![复制代码](http://common.cnblogs.com/images/copycode.gif)
/// 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); }
![复制代码](http://common.cnblogs.com/images/copycode.gif)
在操作文件的时候,还是比较简单的,不过文件夹就比较复杂了,牵扯到是否要继承的问题。
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/4591734.html
相关文章
- c#数组赋初值_C#数组初始化
- C#控制树莓派入门
- 【C#】C#获得计算机硬件信息和操作系统信息,ManagementObjectSearcher[通俗易懂]
- 什么是继承?C# 支持多重继承吗?C#如何实现多重继承?
- C#开源项目:SiMay远程控制管理系统
- c# 多线程并发-金三银四面试:C#.NET面试题高级篇2-多线程
- 关于C# XML序列化的一个BUG的修改详解编程语言
- C#Winform实现屏蔽键盘的win和alt+F4的实现代码
- 在asp.net(c#)下实现调用cmd的方法
- C#权限管理和设计浅谈
- 用C#控制Windows系统音量的实现方法
- 解决C#中取消方向键对控件焦点控制的实现方法
- C#控件命名规范汇总(超详细)
- c#调用api控制windows关机示例(可以重启/注销)
- C#事件访问器详解
- C#控制IE进程关闭和缓存清理的实现代码
- C#通过热键控制显示器开关的方法
- C#中winform控制textbox输入只能为数字的方法
- C#生成code128条形码的方法
- C#常用GDI+文字操作汇总