Not sure if this belongs here or on superuser.com.
I'm battling with getting a C process working that needs to link in Oracle dynamic libraries.
It compiles and runs fine under the oracle user (the user oracle was installed against) but not under another account. The obvious reason is that the default oracle install doesn't grant read or execute to any of the shared libraries in /lib
I've granted r+x to all for the underlying dylib (equivalent to .so, etc) and executing under the oracle user I get the following results
ls -lrt *odm* -rwxr-xr-x 1 oracle dba 9000 Mar 3 2009 libodmd10.dylib lrwxrwx--- 1 oracle dba 15 Jul 25 14:23 libodm10.dylib -> libodmd10.dylib
Doing the same under my other user (the one I want to execute under) I get the following
ls -lrt libodmd10.dylib -rwxr-xr-x 1 oracle dba 9000 Mar 3 2009 libodmd10.dylib ls -lrt libodm10.dylib ls: libodm10.dylib: Permission denied lrwxrwx--- 1 oracle dba 15 Jul 25 14:23 libodm10.dylib
I suspect the answer is incredibly dumb and simple, but my understanding was that symbolic links inherited permissions from the underlying file.