Shared Memory kann unter Linux nicht von einem normalen User angesprochen
werden.
Als root schon.
Frage:
Welche Rechte muss man einem User != root geben, um Shared Memory zu benutzen ?
Wo stellt man das ein ?
1 Antwort
Ehm, bist Du Dir da sicher? Ohne jetzt selbst zu programmieren – ettliche unserer Software hier verwendet shared memory und ist *nicht* SUID root.
Kann es ein dass Du lediglich das Segment als root erzeugt hattest (ohne es wieder zu löschen) und deshalb als User nicht mehr ran kommst? Was sagt ipcs?
Pit
Das Problem hat sich erledigt,
man kann die Permissions in shmget mit angeben,
das hatten wir nicht getan :-(
key_t key;
int shmid;
key = ftok(“/home/beej/somefile3”, ‘R’);
shmid = shmget(key, 1024, 0644 | IPC_CREAT);
[1] http://www.ecst.csuchico.edu/~beej/guide/ipc/shmem.html