我想以编程方式为本地用户组DirectoryInfo directoryInfo = new DirectoryInfo(path);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
var groupName = Environment.MachineName + @"\IIS_IUSRS";
directorySecurity.AddAccessRule(
new FileSystemAccessRule(groupName,
FileSystemRights.Read,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None,
AccessControlType.Allow));
directoryInfo.SetAccessControl(directorySecurity);
提供对文件夹及其子文件夹的访问权限。
我目前的代码如下:
System.Security.Principal.IdentityNotMappedException
但这会引发groupName
。使用new SecurityIdentifier(WellKnownSidType.WorldSid, null);
的SID替换SecurityIdenfier
正在运行。
我是否需要为某个组获得BUILTIN\IIS_IUSRS
,如果是,我该怎么做?或者我是否需要为群组完全不同?
修改: "/bin/bash -c 'sshpass -p root1234 ssh -o StrictHostKeyChecking=no root@ipaddrs qconf -ah $hostname'"
无效,因为我使用的是带有德语区域设置的Windows。
答案 0 :(得分:3)
你不需要使用SID,我写了一个工作程序曾经用过" DOMAIN \ GroupName"它工作得很好。而不是:
var groupName = Environment.MachineName + @"\IIS_IUSRS";
尝试:
var groupName = @".\IIS_IUSRS";