ForumShared Memory benutzen
xxx yyy – Donnerstag, 11. Januar 2007 13:16 Uhr

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
Peter Sütterlin – Donnerstag, 11. Januar 2007 15:53 Uhr

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

xxx yyy – Donnerstag, 11. Januar 2007 16:35 Uhr

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