[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

getting permission denied with shmat() as non-root



I am writing software that will execute on a customized Debian Linux and
also on an embedded POSIX system. On the embedded system, I execute the
code as root. On the Debian system, I execute the code as my non-root
user account. This is the normal usage of the application.

I am using ftok(), shmget(), shmat() to obtain a small quantity of
shared memory for the application. As root, the shmat() function
succeeds on the embedded system. However, on the Debian system the
shmat() function returns -1 with an error code of EACCES, indicating
permission denied. The embedded system does not have shm_open(),
otherwise I would use that.

/proc/config.gz reveals that SYSVIPC is indeed compiled into the Linux
kernel of the Debian system.

How can I diagnose the program on the Debian system?
I read on the Internet that this may have something to do with Linux
Capabilities settings?



Reply to: