Tag: 权限

文件权限不会inheritance目录权限

我有一个程序正在为用户输出创建一个安全的目录。 这是正常的,但我在其中创建的文件(或复制到它)最终只有管理员访问权限。 DirectoryInfo outputDirectory = baseOutputDirectory.CreateSubdirectory(outputDirectoryName, GetDirectorySecurity(searchHits.Request.UserId)); … private DirectorySecurity GetDirectorySecurity(string owner) { const string LOG_SOURCE = “GetDirectorySecurity”; DirectorySecurity ds = new DirectorySecurity(); System.Security.Principal.NTAccount ownerAccount = new System.Security.Principal.NTAccount(owner); ds.SetOwner(ownerAccount); ds.AddAccessRule( new FileSystemAccessRule(owner, FileSystemRights.FullControl, AccessControlType.Allow)); //AdminUsers is a List that contains a list from configuration // That represents the admins who should be allowed foreach (string […]

从Windows服务访问环境变量

我试图用C#编写Windows服务。 我需要找到某个文件的路径,该文件存储在环境变量中。 在常规的C#控制台应用程序中,我可以通过以下行实现: string t = System.Environment.GetEnvironmentVariable(“TIP_HOME”); 如果我把它写到控制台,我发现它是成功的。 现在,如果我在Windows服务中尝试相同的代码,则字符串t为空。 知道为什么吗?

在IIS 7中启动应用程序时出现“CS0016:无法写入输出文件”错误

我正在运行Windows 7,并且通常不是此设置中的开发人员,并且最近在C#中构建了一个WCF Rest服务,我现在正尝试在本地计算机上部署到IIS。 经过多次争论,我设置了应用程序,但是当我导航到应用程序时,我收到一条错误消息:编译错误 描述:在编译服务此请求所需的资源期间发生错误。 请查看以下特定错误详细信息并相应地修改源代码。 编译器错误消息:CS0016:无法写入输出文件’c:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files \ scom_sibyll \ 8c0b945e \ 9329016 \ App_global.asax.eagmqgcd.dll’ – ‘访问被拒绝。 “ 我尽我所能地搜索了网络,并更改了Temporary ASP.NET Files fodler的权限,以允许网络服务帐户拥有完整权限,并对Temp文件夹执行相同的操作。 它在失败之前复制了许多文件,因此它可能具有写入权限,所以我检查了从我的源文件夹中读取的权限,这也是有效的。 我还注意到它在尝试缓存DLL文件时出现问题,并试图关闭我的防病毒保护,以及关闭UAC,只是为了看看是否能够找出阻止这种情况发生的原因。 我现在的想法很新鲜。 有人有什么建议吗?

dcomcnfg以编程方式运行

我可以找到各种关于如何为DCOM编程的东西,但实际上没有关于如何以编程方式设置/检查安全性的内容。 我不是要重新创建dcomcnfg,但如果我知道如何在C#(首选或VB.net)中重现dcomcnfg的所有function,那么我的目标就在眼前。 我似乎无法在此找到任何好的资源,没有开源API甚至是如何做每一步的快速示例。 甚至在这里DCOM或dcomcnfg返回的结果很少,而且没有真正关于如何设置/validation/列出安全性。 如果有人对开放API或某些示例有一些指示,我将不胜感激。

从C#调用CreateProcessAsUser

我一直在尝试使用Windows API的CreateProcessAsUser函数在特定用户的上下文中创建一个新进程,但似乎遇到了一个相当讨厌的安全问题…… 在我进一步解释之前,这里是我正在使用的代码来启动新进程(一个控制台进程 – PowerShell具体,但它应该无关紧要)。 private void StartProcess() { bool retValue; // Create startup info for new console process. var startupInfo = new STARTUPINFO(); startupInfo.cb = Marshal.SizeOf(startupInfo); startupInfo.dwFlags = StartFlags.STARTF_USESHOWWINDOW; startupInfo.wShowWindow = _consoleVisible ? WindowShowStyle.Show : WindowShowStyle.Hide; startupInfo.lpTitle = this.ConsoleTitle ?? “Console”; var procAttrs = new SECURITY_ATTRIBUTES(); var threadAttrs = new SECURITY_ATTRIBUTES(); procAttrs.nLength = Marshal.SizeOf(procAttrs); […]

Windows中有效的文件权限工具的api

从Windows Server 2003开始,Windows包含一个新工具,用于计算用户的有效权限(基本上它可以解析所有组访问权限并处理所有“拒绝”权限)。 一个例子是用户A属于组B和C.B已被拒绝对文件F的读取权限,而C已被允许对文件的读写权限,我想计算用户A具有的有效权限在档案F. 通过右键单击文件并转到属性 – >安全性 – >高级 – >有效权限,可以在Windows Server 2003,Vista,7和Server 2008上使用此工具。 我需要的是C#中的API,它可以完成同样的工作。 最常见的FILE API返回访问规则(类FileAccessRules),但似乎没有直接的方法来从这些访问规则集计算有效权限。 注意:如果可能的话,我不想在代码中处理有效的权限,但我已准备好作为最后的手段。

在C#.NET中设置NTFS权限

如何在C#.NET中设置NTFS权限? 我试图在.NET中更改读/写权限。 我是新手,请帮忙!

以管理员身份运行cmd和命令?

这是我的代码: try { ProcessStartInfo procStartInfo = new ProcessStartInfo( “cmd.exe”, “/c ” + command); procStartInfo.UseShellExecute = true; procStartInfo.CreateNoWindow = true; procStartInfo.Verb = “runas”; procStartInfo.Arguments = “/env /user:” + “Administrator” + ” cmd” + command; ///command contains the command to be executed in cmd System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo = procStartInfo; proc.Start(); } catch (Exception ex) […]

如何给我的C#app管理权限? 清单文件

我在使用win32_networkingadapterconfig的C#应用​​程序时遇到了一些问题。 问题是当我在没有管理员权限的用户上使用应用程序时,我无法在win32_networkingadapterconfig中使用更改function。 我试图“以管理员身份运行”,但没有运气。 我试图在trustInfo部分中使用此内容制作清单文件: 启用clickone安全设置设置为完全信任。 我究竟做错了什么 ?

ASP.NET – 在应用程序外部读取和写入文件系统

有没有办法在当前的ASP.NET应用程序之外访问文件系统,而无需提供IIS_IUSRS权限? 例如,如果我想要这条线工作: logStream = File.Open(“C:\logs\app.log”, FileMode.Append, FileAccess.Write, FileShare.ReadWrite); …我通常必须向C:\logs\app.log授予对IIS_IUSRS组的读/写权限。 这使得在新系统上设置应用程序变得很烦人,其中需要访问的目录可以位于不同的位置。 有没有办法告诉ASP.NET它应该访问哪些目录?