Articles of acl

如何检查Linux中的ACL是否存在UID?

我需要编写一个程序,其中一部分涉及检查程序使用的文件的ACL文件中是否存在执行该程序的用户的用户名。 也就是说,这个程序写入文件,只允许在ACL中input用户名和密码的用户这样做。 程序如何检查这个? 我知道我需要使用getresid函数来获取正在执行的进程的RUID,但是如何对存储在ACL中的所有值进行检查? 请帮帮我!

C# – Windows ACL – 应用inheritance的权限

我一直在编程上给文件夹/registry项分配权限时遇到问题。 我设法使用下面的代码分配inheritance权限: FileSystemAccessRule rule = new FileSystemAccessRule(LOGON_USER_NAME, FileSystemRights.FullControl, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.InheritOnly, AccessControlType.Allow); DirectorySecurity security = new DirectorySecurity(); security.SetAccessRule(rule); Directory.CreateDirectory(dir); Directory.SetAccessControl(dir, security); 这正确地设置我作为pipe理员创build的所有子文件夹上的文件权限。 但是,它不会在dir文件夹本身上设置权限。 我曾经为了inheritance和传播而进行了一些排列,但没有任何的喜悦。 例如,我有: dir = %programfiles%\Test 如果我在testing( %programfiles%\Test\SubFolder )中创build了一个文件夹,我为我的用户分配了完整的权限,但是我没有%programfiles%\Test完全权限。 这真的很烦人,因为我想给我的用户充分的权限做任何与testing目录以及。 我有与registry权限类似的问题,但我相信,如果我能解决一个,我可以解决这两个突出的问题。 有谁知道如何解决这个问题? 问候 三

由于PathTooLongException,使用PowerShell和Robocopy获取ACL信息

我试图使用PowerShell获得一些networking文件夹的所有权限的列表。 不幸的是,我遇到了可怕的PathTooLongException,所以我试图使用Robocopy作为解决方法。 不过,我是一个PowerShell的新手,所以希望有一点帮助。 我提出的最简单的命令是 Get-Childitem "S:\StartingDir" -recurse | Get-Acl | Select-Object path,accestostring | Export-Csv "C:\export.csv" 这工作,做我想要的,除了我得到的例外。 如何将Robocopy插入到此语句中以绕过exception? 有什么想法吗?

如何使用PowerShell设置文件夹的权限

我正在尝试编写一个脚本,在所有文件服务器上添加“CreatorOwner”权限以在configuration文件$文件夹中; 即将“CreatorOwner”权限添加到“\ FileServer \ Profile $” 任何人都可以告诉我最新的命令和语法吗? 请问有没有问题。

如何更改Windows中的文件ACL,如果我只知道SID?

我想更改一个文件的ACL并将“完全权限”设置为特殊用户。 我知道cacls命令cacls . /e /t /p Everyone:f cacls . /e /t /p Everyone:f 但是这只适用于操作系统是英文的。 对于德国的系统,它必须是cacls . /e /t /p Jeder:f cacls . /e /t /p Jeder:f 。 我知道用户“大家”(S-1-1-0) 的众所周知的SID ,但似乎我不能用cacls来使用它们。 我试过cacls . /e /t /p S-1-1-0:f cacls . /e /t /p S-1-1-0:f 。 有没有办法使用Windows命令行工具进行这项工作? 我不允许将软件或其他命令行工具与我的软件捆绑在一起。 解决scheme必须从Java进程调用,但这不应该是一个问题。

Web.Config – 由于权限不足,无法读取configuration文件

我收到错误: Module IIS Web Core Notification Unknown Handler Not yet determined Error Code 0x80070005 Config Error Cannot read configuration file due to insufficient permissions Config File \\?\C:\inetpub\wwwroot\web.config 该文件本身具有完整的IUSR权限。 IIS正在ApplicationPoolIdentity下运行其应用程序池。 我在文件上做了一个文件监视器,我看到这个: 9:04:43.8035456 AM w3wp.exe 8104 CreateFile C:\inetpub\wwwroot\Web.config ACCESS DENIED Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, AllocationSize: […]

如何将新权限(ACL)分配给现有registry项,而不从父项inheritance权限

可以使用RegistryKey.SetAccessControl(new RegistrySecurity(…))设置新权限。 但在此之后, inheritance is turned on 。 有没有一种方法来分配新的权利,而不继续打开? 整个代码: void test { SecurityIdentifier sidAccUser = new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null); NTAccount ntAccUser = sidAccUser.Translate(typeof(NTAccount)) as NTAccount; RegistryAccessRule regAcRule = new RegistryAccessRule( ntAccUser , RegistryRights.FullControl , InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit , PropagationFlags.None , AccessControlType.Allow); RegistrySecurity regSecurity = new RegistrySecurity(); regSecurity.AddAccessRule(regAcRule); RegistryKey regKey = Registry.CurrentUser.OpenSubKey(@"ZZTEST", true); // after that […]

如何在.net中为Windows服务设置ACL?

我有一个服务,我需要能够启动和停止一个button。 我在一个单独的程序中使用一个ServiceController,当我以pipe理员身份运行这个单独的程序时,一切都按预期工作。 不过,我需要能够像任何人一样控制这项服务。 我如何设置我的服务的权限,以便每个人都可以完全控制它? 这需要以编程方式作为服务的一部分或安装。 这是一个用vb.net写的本地服务。

从Java读取Windows ACL

从Java程序中,我希望能够列出有权读取给定文件的Windows用户和组。 Java没有内置的读取Windows ACL信息的能力(至less在Java 7之前 ),所以我正在寻找其他解决scheme。 是否有任何第三方库可用于直接访问Windows文件的ACL信息? 如果不这样做,也许运行cacls和捕获,然后处理输出将是一个合理的临时解决scheme – cacls的输出格式是否在任何地方彻底logging,是否可能会改变之间的Windows版本?

我怎样才能得到使用C ++的SYSTEM进程中的活动用户名?

我已经使用了GetUserName()方法,但是它返回的用户名是SYSTEM中的SYSTEM。如何在SYSTEM进程中获得活动的用户名? 这是我的代码: void getComputerUsername(char * username,char * domainname) { HANDLE hp , htoken; char buff[1024]; unsigned long size = 1024; TOKEN_USER *tuser; PSID sid; TCHAR * user = new TCHAR[256]; TCHAR * domain=new TCHAR[256]; SID_NAME_USE snu; hp = htoken = INVALID_HANDLE_VALUE; hp = GetCurrentProcess(); if(OpenProcessToken(hp, TOKEN_QUERY, &htoken)) { if(GetTokenInformation(htoken, TokenUser, (void*)buff, size, &size)) { tuser […]