Last updated on
16 May 2021
You have accidentally deleted system ACLs in AEM and it has broken AEM functionality.
Cause
There can be many causes for this, but the most common are:
- Accidental removal of permissions by users
- Installation of ACL package with "Overwrite" value set in AC Handling option of the package
Resolution
To solve this issue, you can do the following:
- Install a clean AEM author or publish instance locally and set the -r nosamplecontent option during installation (match the instance type with the instance missing the ACLs). For example: java -Xmx2048m -jar cq-author-p4502.jar -r nosamplecontent
- Go to the AEM package manager http://host:port/crx/packmgr/index.jsp and log in as admin
- Download and install ACS Commons
- Use ACL Packager to package up all the out-of-the-box ACLs. When configuring the ACL package, set "/.*" as the only value in Include Patterns. Then set AC Handling option to Merge.
- Go to the package manager and build the ACL package.
- Download the package
- Once you obtain that hotfix then install it to the broken environment by dropping it in the crx-quickstart/install folder
- After the hotfix is fully installed (validate via the error.log) then restart AEM
- Then drop the ACL package in the crx-quickstart/install folder on the broken instance
- After that package is installed then restart AEM one more time
Now the original out of the box ACLs have been restored.