请求一个 linux 权限问题

2014-11-06 23:32:08 +08:00
 lovedboy
每个文件都有一个inode,目录也是。目录下的所有文件的inode都存储在目录inode对应的block data里面。对一个目录只有x权限,为何能修改目录下面的文件信息呢?我的理解是:要修改文件,肯定要能找到文件的inode,要找到文件的inode,肯定要读取目录的block区域。但对目录只有x权限,没有r权限。难道目录的x权限有什么特殊的地方?
2383 次点击
所在节点    Linux
5 条回复
ksc010
2014-11-07 00:26:34 +08:00
对一个目录只有x权限
你不能ls 这个目录
但是假如你知道这个目录中的文件且有权限读取文件的权限的话就没问题
lu18887
2014-11-07 00:56:27 +08:00
目录要有x权限才能遍历和搜索,具体原因忘了
lovedboy
2014-11-07 09:17:12 +08:00
@ksc010 @lu18887 我只能这样理解了:抽象成数据库查询。目录的r权限表示可以 select * from 目录。x权限可以表示为:select * from 目录 where 文件名=xxx;
lu18887
2014-11-07 10:11:06 +08:00
@lovedboy 建议你翻一下APUE figure 4.26 以及第四章 。
402124773
2014-11-07 10:43:34 +08:00
对一个目录只有x权限,为何能修改目录下面的文件信息呢?
你这句话是什么意思?
在《鸟哥的私房菜》中对于目录的X权限描述是这样的:

咦!目彔的执行权限有啥用途啊?目彔只是记彔文件名而已,总丌能拿来执行吧?没错!目彔丌
可以被执行,目彔的x代表的是用户能否迚入该目彔成为工作目彔的用途! 所谓的工作目彔
(work directory)就是你目前所在的目彔啦!丼例来说,当你登入Linux时, 你所在的家目彔就
是你当下的工作目彔。而变换目彔的挃令是『cd』(change directory)啰!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/144539

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX