文件权限不继承目录权限我有一个程序正在为用户输出创建一个安全目录。这工作正常,但我在其中创建(或复制到)的文件最终只有管理员访问权限。DirectoryInfooutputDirectory=baseOutputDirectory.CreateSubdirectory(outputDirectoryName,GetDirectorySecurity(searchHits.Request.UserId));...privateDirectorySecurityGetDirectorySecurity(stringowner){conststringLOG_SOURCE="GetDirectorySecurity";DirectorySecurityds=newDirectorySecurity();System.Security.Principal.NTAccountownerAccount=newSystem.Security.Principal.NTAccount(owner);ds.SetOwner(ownerAccount);ds.AddAccessRule(newFileSystemAccessRule(owner,FileSystemRights.FullControl,AccessControlType.Allow));//AdminUsers是一个包含来自配置的列表的列表//表示应该允许的管理员}返回ds;}//////此方法复制任何静态支持文件,例如javascripts//////privatevoidCopySupportingFiles(DirectoryInfoooutputDirectory){foreach(SupportingFiles中的FileInfo文件){file.CopyTo(Path.Combine(outputDirectory.FullName,file.Name));}}等等等等我做错了什么?为什么权限不级联?看起来你应该在设置DirectorySecurity时设置InheritanceFlags和PropagationFlags(我相信它会覆盖你手动设置的任何内容)以上就是C#学习教程:文件权限不会继承目录权限共享的所有内容。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注—privateDirectorySecurityGetDirectorySecurity(stringowner){conststringLOG_SOURCE="GetDirectorySecurity";DirectorySecurityds=newDirectorySecurity();System.Security.Principal.NTAccountownerAccount=newSystem.Security.Principal.NTAccount(owner);ds.SetOwner(ownerAccount);ds.AddAccessRule(newFileSystemAccessRule(owner,FileSystemRights.FullControl,InheritanceFlags.ObjectInherit,PropagationFlags.InheritOnly,AccessControlType.Allow));//AdminUsers是一个列表,其中包含来自配置的列表//表示应该允许的管理员foreach(AdminUsers中的字符串adminUser){ds.AddAccessRule(newFileSystemAccessRule(adminUser,FileSystemRights.FullControl,InheritanceFlags.ObjectInherit,PropagationFlags.InheritOnly,AccessControlType.Allow));}返回ds;对的请点右边联系管理员删除如需转载请注明出处:
