为什么在 C (Linux) 中创建文件需要执行权限和写权限?

Chi*_*nna 2 linux permissions c

我正在尝试从我的 C 源代码在 linux 上创建一个文件。我正在使用该dd命令从文件中读取并通过创建文件将其写入文件。如果我没有目标目录(将在其中创建文件)的执行权限(我有写权限),则无法创建该文件。如果我同时拥有写入和执行权限,它就可以创建文件。

这是什么原因?

Sep*_*our 9

设置后,r、w 和 x 模式属性对文件和目录有以下影响:

  • r 属性(读取权限):

文件:允许打开读取文件。

目录:允许列出目录的内容。要检索有关包含文件或目录的任何信息,还必须设置 execute 属性。

  • w 属性(写权限):

文件:允许写入或截断文件,但此属性不允许重命名或删除文件。删除或重命名文件的能力由目录属性决定。

目录:如果还设置了执行属性,则允许创建、删除和重命名目录中的文件。

  • x 属性(执行权限):

文件:允许将文件视为程序并执行。用脚本语言编写的程序文件也必须设置为可读才能执行

目录:允许输入目录,例如 cd 目录。

参考:Linux® 命令行 William E. Shotts, Jr.

我建议您阅读本书或 pdf 版本,您可以从以下链接下载:http : //sourceforge.net/projects/linuxcommand/files/TLCL/13.07/TLCL-13.07.pdf/download