8

我得到了一个 testdir mkdir testdir,并在其中创建了一个文件touch testdir/a

drwxr-xr-x  2 jermaine     jermaine       4096 Mar 12 22:57 testdir

如果我删除'x'chmod -x testdir

那我就不行了

cd testdir

touch testdir/b

ls -l testdir

cat testdir/a

所以我的问题是为什么我不能在一个带有“r”但没有“x”的目录下列出文件层次结构?目录上的“x”到底是什么意思?

我知道一些解释,例如“x 表示进入目录,必须先进入才能读取和写入”。但是“进入”是什么意思?我非常感谢 inode 或 dentry 级别的答案。非常感谢。

4

3 回答 3

21

“执行”是对目录的遍历权限。它允许您访问目录中的文件和文件夹。

如果您可以读取目录,则可以列出内容。

如果您可以编写目录,则可以在其中创建新文件和文件夹。

如果你可以“执行”一个目录,你就可以在层次结构中移动,即使你不知道里面有什么。

于 2013-03-12T08:01:42.940 回答
13

在 Linux 上对目录应用权限时,权限位的含义与常规文件不同。

  • 写入位允许受影响的用户在目录中创建、重命名或删除文件,并修改目录的属性
  • 读取位允许受影响的用户列出目录中的文件
  • 执行位允许受影响的用户进入目录,并访问里面的文件和目录
于 2013-03-12T08:03:03.050 回答
-1

对目录执行权限意味着您可以访问该目录中的文件。

查看此链接以获取有关 Unix 权限的更多信息:

http://www.cyberciti.biz/faq/how-linux-file-permissions-work/

于 2013-03-12T07:59:39.547 回答