我正在编写一个需要root权限才能工作的简单守护程序。我还想编写一个客户端来控制守护进程(只有几个函数) - 这个客户端适用于普通用户。但是我的权限有问题。我利用了(权限660)创建的共享内存(IPC):
shmget(SHMKEY, SHMSIZE, IPC_CREAT | 0660)
我设置“chown root:mydaemongroup”,chmod + x用于/ usr / bin / daemonsrv和/ usb / bin / daemonclient,将用户添加到mydaemongroup并重新登录 - 但是使用普通用户stil运行的daemonclient无法获取SHM segment - “获取SHM段时出错:权限被拒绝”。我用root权限运行daemonsrv ofcourse。在同一个用户上运行时一切正常。用什么方法来创建这样的客户端?我可以使用共享内存或UNIX域套接字吗?我共享内存有什么问题?我希望它是安全的并遵循UNIX规则。 关心K. :)