1

我正在编写一个需要 root 权限才能工作的简单守护程序。我还想编写一个客户端来控制守护进程(只有几个功能) - 这个客户端适用于普通用户。但是我有权限问题。我利用了(权限 660)创建的共享内存(IPC):

shmget(SHMKEY, SHMSIZE, IPC_CREAT | 0660)

我为 /usr/bin/daemonsrv 和 /usb/bin/daemonclient 设置了“chown root:mydaemongroup”,chmod +x,将用户添加到 mydaemongroup 并重新登录 - 但 daemonclient 以普通用户运行仍然无法获得 SHM 段 - “获取 SHM 段时出错。:权限被拒绝”。我当然以 root 权限运行 daemonsrv。当在同一用户上运行时,一切正常。使用什么方法来创建这样的客户端?我可以使用共享内存或例如 UNIX 域套接字吗?我对共享内存做错了什么?我希望它是安全的并遵循 ​​UNIX 规则。问候K. :)

4

0 回答 0