为目录中的整个组设置访问权限
Set Access Permissions for a Whole Group on a Directory
我正在编写一个 C# 应用程序,它需要创建一个文件夹,然后授予 DOMAIN\Users 完全权限。当我尝试传入 Environment.UserDomainName + @"\Users"
时,它会抛出一个 System.Security.Principal.IdentityNotMappedException
。目前,我有这个代码:
DirectoryInfo dirInfo = new DirectoryInfo(path);
DirectorySecurity dirSec = dirInfo.GetAccessControl();
// All users should have full control.
dirSec.AddAccessRule(new FileSystemAccessRule(Environment.UserDomainName + @"\Users", FileSystemRights.FullControl, AccessControlType.Allow));
dirInfo.SetAccessControl(dirSec);
如何实现 "work",允许用户完全控制存储在 path
中的目录?
这是完整的例外:
我在我的电脑上做了一些测试,发现当添加一个域用户时这有效:
Environment.UserDomainName + @"\Users"
对于本地计算机帐户,我必须这样做:
@".\Users"
由于您是在家用 PC 上进行测试,因此我假设您不在域中并且正在尝试添加本地计算机用户组。
组名也可以从外部输入,如下所示;
public static void SetGroupUsersPermission(string Path,string groupname)
{
DirectoryInfo dirInfo = new DirectoryInfo(Path);
DirectorySecurity dirSec = dirInfo.GetAccessControl();
dirSec.AddAccessRule(new FileSystemAccessRule(Environment.UserDomainName + @"\" +
groupname, FileSystemRights.FullControl, AccessControlType.Allow));
dirInfo.SetAccessControl(dirSec);
}
我正在编写一个 C# 应用程序,它需要创建一个文件夹,然后授予 DOMAIN\Users 完全权限。当我尝试传入 Environment.UserDomainName + @"\Users"
时,它会抛出一个 System.Security.Principal.IdentityNotMappedException
。目前,我有这个代码:
DirectoryInfo dirInfo = new DirectoryInfo(path);
DirectorySecurity dirSec = dirInfo.GetAccessControl();
// All users should have full control.
dirSec.AddAccessRule(new FileSystemAccessRule(Environment.UserDomainName + @"\Users", FileSystemRights.FullControl, AccessControlType.Allow));
dirInfo.SetAccessControl(dirSec);
如何实现 "work",允许用户完全控制存储在 path
中的目录?
这是完整的例外:
我在我的电脑上做了一些测试,发现当添加一个域用户时这有效:
Environment.UserDomainName + @"\Users"
对于本地计算机帐户,我必须这样做:
@".\Users"
由于您是在家用 PC 上进行测试,因此我假设您不在域中并且正在尝试添加本地计算机用户组。
组名也可以从外部输入,如下所示;
public static void SetGroupUsersPermission(string Path,string groupname)
{
DirectoryInfo dirInfo = new DirectoryInfo(Path);
DirectorySecurity dirSec = dirInfo.GetAccessControl();
dirSec.AddAccessRule(new FileSystemAccessRule(Environment.UserDomainName + @"\" +
groupname, FileSystemRights.FullControl, AccessControlType.Allow));
dirInfo.SetAccessControl(dirSec);
}