gpt4 book ai didi

c++ - POSIX 消息队列可以在 Linux 上跨用户使用吗?

转载 作者:IT王子 更新时间:2023-10-29 01:20:34 26 4
gpt4 key购买 nike

我已经实现了一个 POSIX 消息队列。在听众方面,我是这样打开队列的:

mqdes = mq_open(s_mailbox_name.c_str(), O_RDONLY | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO, NULL);

在发送端,我是这样打开队列的:

mqdes = mq_open(m_s_mailbox_name.c_str(), O_WRONLY);

两者的字符串相同,我们称之为/foobox

现在,当我在盒子上以同一用户身份运行发送方和接收方时,一切正常。但是,如果发送方和接收方是 2 个不同的用户,则接收方无法打开队列。我认为这不会成为问题,因为我将队列打开为上面的 0777,这样每个人都可以 RWX。

有什么明显的我做错了吗?或者这是不可能的(请不要让它成为这个)

谢谢

最佳答案

检查umask

来自 man mq_open:“权限设置针对进程 umask 进行了屏蔽。”

关于c++ - POSIX 消息队列可以在 Linux 上跨用户使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1875998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com