Looks like your role does not have Read privileges to Config file. Open Configuration dictionary and check ACLS on given Config File.
I'am BLAdmins and in Config Object Dictionary I've BLAdmins:ConfigFile.* Authorization.
Can you check that the bladmin (O/S account) has at least read permission (at the O/S level again) on /path/to/grammar/file.gm?
As the AppServer runs under the authority of the bladmin account, if administrative privileges are required to access grammars you'd be likely to get that type of message.
Below my commands and outputs:
COMMAND: nexec AppServer su - bladmin -c "ls -las /path/to/grammar/file/auto.gm"
OUTPUT: 4 -rwxrwx--- 1 root root 499 Aug 23 22:09 /path/to/grammar/file/auto.gm
COMMAND: nexec AppServer su - bladmin -c "head /path/to/grammar/file/auto.gm"
OUTPUT: head: cannot open `/path/to/grammar/file/auto.gm' for reading: Permission denied
For listing the attributes of the file (using commands like ls, stat, etc), the permission on the file are not considered. We just need the read permission on the directory which contains this file.
For reading the content of the file (using commands like cat, head, etc), we need to have read permission on the file.
So in above example, you are executing the commands (ls, head) as "bladmin" user.
ls -l example: This "bladmin" user has a read permission on the directory containing auto.gm file. Thus it works fine.
head example: Here as we can see in the ls -l output, the file has read permission only for "root" user and users in "root" group". For "others" (unix's user/group/other model) doesn't have read permission. Here "bladmin" user falls under this "other" category. Thus when "bladmin" user try to read the content of this file it will get "Permission denied" error.
AFAIK we should have at least read permission for "other" on those grammar file. Thus you can fix it by providing the read permission using bellow steps or any other steps:
nexec Appserver chmod o+r /path/to/grammar/file/auto.gm
The appserver runs as ‘bladmin’. It needs to read the grammr files. currently, bladmin cannot read the grammar files.
As root, run this on your app server:
chown bladmin:bladmin /path/to/grammar/file.gm