This is a common issue if the instance has been started with a different user (most likely: root) in the past. If this is the case, please have a close look at the startup and error logs once file permissions have been corrected and you restart the instance to see if there are any other side effects.
As you mention that file ownership and permissions look ok, please double check on that trying to read the according file (e. g. just user "cat". That won't produce any readable output but it will show if the user has read access).
Have you just checked the ownership/permissions or did you actually re-set them (recursively)?
Would you mind sharing the current ownership/permissions of that specific file?
If ownership and permissions are really set correctly, then there must be some other mechanism that prevents file access. I've seen security tools like selinux causing similar issues in the past. So please double check on the general system logs (/var/log/messages and the like) to see if you find any message related to the AEM startup.
You may also want to execute the startup not using the sudo command from you initial post but actually changing user (su) to the cqadm user and trying to start from there.
General advice on trouble shooting:
When has the AEM instance been started successfully for the last time?
What has changed in the meantime? (On all levels: operating system, file system, Java, AEM, deployments, etc.)