在运行时更改Linux消息队列权限

时间:2017-08-08 15:14:27

标签: linux permissions runtime message-queue

使用具有默认权限的“mq_open”函数实现消息队列。我知道我们可以使用mode参数设置消息队列的权限。但是,一旦我们编译了系统,是否有可能使用其他一些linux命令更改消息队列的权限(在运行时),而不是再次编译二进制文件?

1 个答案:

答案 0 :(得分:0)

考虑使用以下内容:

   int mq_setattr(mqd_t mqdes, struct mq_attr *newattr,
                    struct mq_attr *oldattr);
  

mq_setattr()使用newattr指向的mq_attr结构中提供的信息设置消息队列属性。

     

唯一可以修改的属性是在mq_flags中设置O_NONBLOCK标志。

     

newattr中的其他字段将被忽略。如果oldattr字段不为NULL,则它指向的缓冲区用于返回包含mq_getattr()返回的相同信息的mq_attr结构。

不幸的是,你可以看到它相当有限。