Linux - 命名管道 - 模式在mknod中的作用

时间:2014-08-09 08:28:55

标签: linux named-pipes

我试图了解如何在Linux中使用命名管道进行IPC。我在此link找到了示例代码。

有人可以告诉mknod()中模式参数的作用是什么吗?我对权限部分特别感兴趣。为什么对该参数进行按位OR操作?创建命名管道后如何使用参数?

1 个答案:

答案 0 :(得分:3)

仔细阅读mknod(2)手册页(例如,在终端中输入man 2 mknod)。

   The mode argument specifies both the permissions to use and the type
   of node to be created.  It should be a combination (using bitwise OR)
   of one of the file types listed below and the permissions for the new
   node.
顺便说一下,您可能 - 并且可能应该 - 使用mkfifo(3)代替(或者在shell脚本或终端中使用mkfifo(1)命令)。

权限主要用于open(2)已存在的命名管道的进程。

使用适当的权限设置,您可以将FIFO的使用限制为例如只有某个特定组的成员。

另请阅读Advanced Linux Programmingfifo(7)credentials(7)capabiities(7)以及setuid