cacls
In computing, cacls
and its replacement, icacls
, are Microsoft Windows native command line utilities capable of displaying and modifying the security descriptors on folders and files.[1][2] An access control list is a list of permissions for securable object, such as a file or folder, that controls who can access it. The cacls
command is also available on ReactOS.
cacls
The ReactOS cacls command | |
Developer(s) | Microsoft, Thomas Weidenmueller |
---|---|
Initial release | 1994, 25–26 years ago |
Operating system | Microsoft Windows, ReactOS |
Type | Command |
License | Windows: Proprietary commercial software ReactOS: GNU Lesser General Public License |
Website | docs |
The cacls.exe utility is a deprecated command line editor of directory and file security descriptors in Windows NT 3.5 and later operating systems of the Windows NT family.[3] Microsoft has produced the following newer utilities, some also subsequently deprecated, that offer enhancements to support changes introduced with version 3.0 of the NTFS filesystem:
- xcacls.exe[4][5][6][7] is supported by Windows 2000 and later and adds new features like setting Execute, Delete and Take Ownership permissions
- xcacls.vbs[8][9]
- fileacl.exe [10]
- icacls.exe (included in Windows Server 2003 SP2 and later)[11][12]
- SubInAcl.exe - Resource Kit utility to set and replace permissions on various type of objects including files, services and registry keys
- Windows PowerShell (Get-Acl[13] and Set-Acl[14] cmdlets)
The ReactOS version was developed by Thomas Weidenmueller and is licensed under the GNU Lesser General Public License.[15]
icacls
Developer(s) | Microsoft |
---|---|
Initial release | 2007, 12–13 years ago |
Operating system | Microsoft Windows |
Type | Command |
License | Proprietary commercial software |
Website | docs |
Stands for Integrity Control Access Control List. Windows Server 2003 Service Pack 2 and later include icacls, an in-box command-line utility that can display, modify, backup and restore ACLs for files and folders, as well as to set integrity levels and ownership in Vista and later versions.[16] It is not a complete replacement for cacls, however. For example, it does not support Security Descriptor Definition Language (SDDL) syntax directly via command line parameters (only via the /restore option).
Problems
All known versions of icacls have a serious bug:[17] on objects with protected ACLs, icacls
- ignores this protection,
- resets/destroys the protection and
- applies/propagates the inheritable permissions from the parent to the object and its children.
References
- "Microsoft DOS cacls command". Computer Hope. Retrieved 24 December 2011.
- "CACLS.exe". SS64.com. Retrieved 24 December 2011.
- https://www.computerhope.com/cacls.htm
- "How to use Xcacls.exe to modify NTFS permissions (Revision: 4.5)". Microsoft Support. Microsoft Corporation. 2 March 2007. Retrieved 24 December 2011.
- "Xcacls syntax". Microsoft TechNet. Microsoft Corporation. 28 March 2003. Retrieved 30 October 2012.
- "Windows 2000 Resource Kit Tool: Xcacls.exe". Microsoft Download Center. Microsoft Corporation. 15 May 2002. Retrieved 24 December 2011.
- "Windows XP Service Pack 2 Support Tools". Microsoft Download Center. Microsoft Corporation. 10 August 2004. Retrieved 24 December 2011.
- "How to use Xcacls.vbs to modify NTFS permissions (Revision: 2.4)". Microsoft Support. Microsoft Corporation. 30 October 2006. Retrieved 24 December 2011.
- "Extended Change Access Control List Tool (Xcacls)" (2 July 2004). Microsoft Download Center. Microsoft Corporation. Retrieved 24 December 2011.
Xcacls.vbs is an unsupported tool that provides additional capabilities not provided with the supported utility, Xcacls.exe.
- "FILEACL v3.0.1.6". Microsoft. 2004-03-23. Archived from the original on March 22, 2009.
- "The Icacls.exe utility is available for Windows Server 2003 with Service Pack 2 (Revision: 4.0)". Microsoft Support. Microsoft Corporation. 9 October 2011. Retrieved 24 December 2011.
- "Icacls". Microsoft TechNet. Microsoft Corporation. 28 September 2007. Retrieved 24 December 2011.
- "Get-Acl". Microsoft TechNet. Microsoft Corporation. 21 April 2010. Retrieved 31 October 2012.
- "Set-Acl". Microsoft TechNet. Microsoft Corporation. 21 April 2010. Retrieved 31 October 2012.
- cacls.c on GitHub
- MS-DOS and Windows command line icacls command
- ICACLS.EXE ignores and destroys SE_DACL_PROTECTED/SE_SACL_PROTECTED
Further reading
- "Cacls". Microsoft Windows XP Professional Product Documentation. Microsoft Corporation. Retrieved 24 December 2011.
- "Xcacls Overview". Microsoft TechNet. Microsoft Corporation. 28 March 2003. Retrieved 24 December 2011.
- "DACLs and ACEs". Microsoft Developers Network. Microsoft Corporation. 15 November 2011. Retrieved 24 December 2011.
- Bradley, Tony (2 November 2010). "Introduction to Windows Integrity Control". SecurityFocus. Symantec. Retrieved 24 December 2011.
- The Security Descriptor Definition Language of Love (Part 1)
External links
Wikibooks has a book on the topic of: Guide to Windows Commands |