知道目录是否为空的权限

当我试图模拟Linux下的权限系统时,出现了一些奇怪的事情。知道目录是否为空的权限

我通过用户'normal'创建了一个目录'main',并创建了使用root权限为700的目录'aha'。

所以'主'的所有者是'正常',如果权限是755,我可以使用'普通'用户删除'aha',虽然它的所有者是root。

但是当我在'aha'中放置一个文件时,一切都改变了。由于其中还有一个文件,我无法删除'aha'。

所以,我的问题是,由于'aha'是700根,'normal'怎么知道它是空的?

我的进一步问题是:目录的读取权限是什么意思?

回答:

将UNIX目录想象为库目录中索引卡片的抽屉。

为了知道哪些书有,您需要阅读“抽屉”的许可。为了创建或删除新的“书籍”,您需要写入权限(使您可以放置​​新卡片或从抽屉中移除现有卡片)。为了将目录“遍历”到较低级别的“子抽屉”,您需要抽屉本身的执行权限。

如果您已经知道了那本书/富/酒吧/巴兹存在,你不需要在//foo/foo/bar读取权限,但你需要对所有的人执行权限。

给定的书可以在同一个或单独的“抽屉”(这是硬链接)中的多个“卡”引用。

“卡”可以引用另一张卡片(即符号链接)。符号链接可能变成“悬挂”(如果另一张牌被移除)。

当一本书没有被任何抽屉中的任何卡片引用时,它会从库中“蒸发”。

因为“啊哈”是700根,怎么能“正常”知道它是空的或不

嘛,一个方法是尝试将其删除。如果你成功了,它一定是空的。如果它不是空的,“普通”不能再发现,因为“普通”无法读取目录,因此无法找到该“抽屉”中有多少张卡,或者它们被称为什么。

更新:

为什么你需要执行权限遍历目录。

因为这是目录的eXecutable位的定义。既然你不能合理地执行一个目录,否则这个位就会被浪费掉。不,...文件与执行位无关。

回答:

非常基本的700文件/目录权限不七百但实际上

  • 所有者= 7
  • 组= 0
  • 大家= 0

号码属于一个许可级别

  • 0 =没有permi裂变
  • 1 =允许执行(运行文件或访问目录)
  • 2 =允许写(操作)
  • 4 =允许读(看)

您添加的权限级别了分配一个以上的许可例如

$ chmod 754 foo 

给出完全访问所有者(1 + 2 + 4),执行 'N' 读取到组(1 + 4),并读出到每个人(4)看看

  • http://www.linuxclues.com/articles/16.htm
  • http://www.tuxfiles.org/linuxhelp/filepermissions.html

更多信息

以上是 知道目录是否为空的权限 的全部内容, 来源链接: utcz.com/qa/259065.html

回到顶部