最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C#修改文件夾和文件的NTFS安全權(quán)限

2021-11-19 11:05 作者:多情俏狐  | 我要投稿

using?Microsoft.Win32;

using?System;

using?System.Collections.Generic;

using?System.ComponentModel;

using?System.Data;

using?System.Drawing;

using?System.IO;

using?System.Linq;

using?System.Security.AccessControl;

using?System.Text;

using?System.Threading.Tasks;

using?System.Windows.Forms;

?

namespace?WindowsFormsApp2

{

????public?partial?class?Form1?: Form

????{

????????public?Form1()

????????{

????????????InitializeComponent();

????????}

????????///?<summary>

????????///?獲取系統(tǒng)Chrome的安裝路徑

????????///?</summary>

????????///?<param name="exeName">chrome.exe</param>

????????///?<returns>string 程序所在字符串</returns>

????????public?string?GetChromeUpdatePath()

????????{

????????????try

????????????{

????????????????string?App = "chrome.exe";

????????????????RegistryKey regKey = Registry.CurrentUser;

????????????????RegistryKey regSubKey = regKey.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\"?+ App, false);

????????????????object?objResult = regSubKey.GetValue(string.Empty);

????????????????RegistryValueKind regValueKind = regSubKey.GetValueKind(string.Empty);

????????????????if?(regValueKind == Microsoft.Win32.RegistryValueKind.String)

????????????????{

????????????????????string?strChromePath=objResult.ToString();

????????????????????int?pos = strChromePath.IndexOf(@"\Google\");

????????????????????string?strGooglePosition = strChromePath.Substring(0, pos + 7) + @"\Update";

????????????????????return?strGooglePosition;

????????????????}

????????????????return?"";

????????????}

????????????catch

????????????{

????????????????return?"";

????????????}

????????}

?

????????///?<summary>

????????///?讓文件夾權(quán)限最小化,限制其更新和執(zhí)行

????????///?</summary>

????????///?<param name="filePath"></param>

????????static?void?AddSecurityControll2File(string?filePath)

????????{

?

????????????//獲取文件信息

????????????FileInfo fileInfo = new?FileInfo(filePath);

????????????//獲得該文件的訪問(wèn)權(quán)限

????????????System.Security.AccessControl.FileSecurity fileSecurity = fileInfo.GetAccessControl();

????????????//移除用戶組的訪問(wèn)權(quán)限規(guī)則

????????????fileSecurity.RemoveAccessRule(new?FileSystemAccessRule(@"Administrator", FileSystemRights.FullControl, AccessControlType.Allow));

????????????//添加用戶組的訪問(wèn)權(quán)限規(guī)則

????????????fileSecurity.AddAccessRule(new?FileSystemAccessRule(@"Administrator", FileSystemRights.Modify, AccessControlType.Deny));

????????????fileSecurity.AddAccessRule(new?FileSystemAccessRule(@"Everyone", FileSystemRights.Modify, AccessControlType.Deny));

?

????????????//設(shè)置訪問(wèn)權(quán)限

????????????fileInfo.SetAccessControl(fileSecurity);

????????}

????????///?<summary>

????????///讓文件權(quán)限最小化,限制其更新和執(zhí)行

????????///?</summary>

????????///?<param name="dirPath"></param>

????????static?void?AddSecurityControll2Folder(string?dirPath)

????????{

????????????//獲取文件夾信息

????????????DirectoryInfo dir = new?DirectoryInfo(dirPath);

????????????//獲得該文件夾的所有訪問(wèn)權(quán)限

????????????System.Security.AccessControl.DirectorySecurity dirSecurity = dir.GetAccessControl(AccessControlSections.All);

????????????//設(shè)定文件ACL繼承

????????????InheritanceFlags inherits = InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit;

????????????//Administrator用戶組的訪問(wèn)權(quán)限規(guī)則限制(權(quán)限最小化)

????????????FileSystemAccessRule AdministratorFileSystemAccessRuleAllow = new?FileSystemAccessRule("Administrator", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Allow);

????????????FileSystemAccessRule AdministratorFileSystemAccessRuleDeny = new?FileSystemAccessRule("Administrator", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Deny);

????????????FileSystemAccessRule EveryoneFileSystemAccessRuleDeny = new?FileSystemAccessRule("Everyone", FileSystemRights.FullControl, inherits, PropagationFlags.None, AccessControlType.Deny);

?

????????????bool?isModified = false;

????????????dirSecurity.ModifyAccessRule(AccessControlModification.Remove, AdministratorFileSystemAccessRuleAllow, out?isModified);

????????????dirSecurity.ModifyAccessRule(AccessControlModification.Add, AdministratorFileSystemAccessRuleDeny, out?isModified);

????????????dirSecurity.ModifyAccessRule(AccessControlModification.Add, EveryoneFileSystemAccessRuleDeny, out?isModified);

?

?

?

????????????//設(shè)置訪問(wèn)權(quán)限

????????????dir.SetAccessControl(dirSecurity);

????????}

????????private?void?button1_Click(object?sender, EventArgs e)

????????{

????????????//

????????????string?UpdatePath = GetChromeUpdatePath();

????????????AddSecurityControll2Folder(UpdatePath);

?

????????????string?UpdateMainFile = UpdatePath + @"\keygen.exe";

????????????AddSecurityControll2File( UpdateMainFile);

?

?

????????}

?

????????private?void?button2_Click(object?sender, EventArgs e)

????????{

????????????FolderBrowserDialog path = new?FolderBrowserDialog();

????????????path.ShowDialog();

????????????string?txtPath = path.SelectedPath;

????????????textBoxPathName.Text = txtPath;

????????}

?

????}

}

?


C#修改文件夾和文件的NTFS安全權(quán)限的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
六枝特区| 淮安市| 吉木萨尔县| 大冶市| 元阳县| 如皋市| 沧州市| 枣庄市| 枞阳县| 乌兰察布市| 齐河县| 吉木萨尔县| 丽水市| 赤水市| 浪卡子县| 修文县| 开阳县| 新疆| 越西县| 东乌| 禄劝| 南涧| 河曲县| 佛坪县| 牟定县| 南华县| 弥渡县| 舟曲县| 成都市| 庆元县| 修水县| 瑞金市| 龙口市| 集安市| 康平县| 岱山县| 上饶县| 科技| 饶平县| 绥中县| 舒兰市|