C#特权问题从以本地系统帐户运行的Windows服务创建文件夹
本文关键字:运行 Windows 服务 文件夹 创建 系统 问题 特权 | 更新日期: 2023-09-27 18:27:54
我有一个作为本地系统运行的服务。我正在从该服务创建一些文件夹。创建的这些文件夹不允许windows 7中"用户"组中的用户进行写访问。
我如何创建这些授予每个人写访问权限的文件夹?
您可以使用我在这个示例中找到的逻辑
public class Permissions
{
public void addPermissions(string dirName, string username)
{
changePermissions(dirName, username, AccessControlType.Allow);
}
public void revokePermissions(string dirName, string username)
{
changePermissions(dirName, username, AccessControlType.Deny);
}
private void changePermissions(string dirName, string username, AccessControlType newPermission)
{
DirectoryInfo myDirectoryInfo = new DirectoryInfo(dirName);
DirectorySecurity myDirectorySecurity = myDirectoryInfo.GetAccessControl();
string user = System.Environment.UserDomainName + "''" + username;
myDirectorySecurity.AddAccessRule(new FileSystemAccessRule(
user,
FileSystemRights.Read | FileSystemRights.Write | FileSystemRights.ExecuteFile | FileSystemRights.Delete,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.InheritOnly,
newPermission
));
myDirectoryInfo.SetAccessControl(myDirectorySecurity);
}
}
我还发现这篇文章有其他例子
http://www.c-sharpcorner.com/uploadfile/babu_2082/adding-groups-user-names-and-permissions-for-a-directory-in-C-Sharp/