当前位置: 技术问答>linux和unix
请求帮忙解答下一个问题哦
来源: 互联网 发布时间:2017-01-07
本文导语: 我在 http://topic.csdn.net/u/20111011/21/b9b1852d-7eb1-4bdf-8867-06d0614f7b03.html 问了一个问题,MESH4444给我回答了,其内容如下 显然LZ混淆了文件权限和目录权限…… 对于文件,没什么可说的,很简单…… 对于目录来说…… r表示...
我在
http://topic.csdn.net/u/20111011/21/b9b1852d-7eb1-4bdf-8867-06d0614f7b03.html
问了一个问题,MESH4444给我回答了,其内容如下
显然LZ混淆了文件权限和目录权限……
对于文件,没什么可说的,很简单……
对于目录来说……
r表示你可以显示这个目录下的文件信息,也就是可以ls,没有这个权限,ls时会告诉你:Permission denied
w表示你对当前目录下的所有文件具有删除权限,当然子目录得另行考虑,如果没有这个权限,对于内部的文件,你只能修改,不能添加,也无法删除……
x表示你对这个目录有可进入权限,也就是可以cd,如果没有这个权限,你cd到这个目录的时候,cd会告诉你:Permission denied,当然了,不能cd也就更不能ln了……
其实目录的权限实际上就是文件的权限,目录也是一个文件,只不过目录文件中记录着目录下的文件信息而已,你可以理解为目录文件就是一个记录着一堆文件名的文本文件……
所以,能不能删除文件只和目录权限有关和文件本身的权限是没有关系的,这就像能不能删除文本里的一行信息只和这个文件有没有w权限有关,和那行文字没有任何关系……
不过,如果你的testing目录下不是一个root用户的文件,而是一个root用户的目录(空目录不算,空目录和普通文件一样,目录中必须有文件),那么这个时候你就会发现,testing目录无法删除,原因和刚才说的一样,不过不是testing下的test目录无法删除,而是test目录下的文件无法删除,导致test目录也无法删除,导致testing目录也无法删除&……
如果想通了目录和文件是一码事,那么很容易理解,如果想不通就记住目录权限和文件权限不同就行了……
当然,这里所说的只有rwx,不涉及任何其他别的权限……
我按照你的做法,用root帐号创建目录testing ,然后再建立新的目录test,在test目录下建立文档test1
现在利用 chown cfl testing 修改权限,让 cfl拥有此目彔
然后su cfl
然后 rm -rf testing
确实不能删除了,但是,我还是没和明白为什么哦?请再帮我分析下哦?
http://topic.csdn.net/u/20111011/21/b9b1852d-7eb1-4bdf-8867-06d0614f7b03.html
问了一个问题,MESH4444给我回答了,其内容如下
显然LZ混淆了文件权限和目录权限……
对于文件,没什么可说的,很简单……
对于目录来说……
r表示你可以显示这个目录下的文件信息,也就是可以ls,没有这个权限,ls时会告诉你:Permission denied
w表示你对当前目录下的所有文件具有删除权限,当然子目录得另行考虑,如果没有这个权限,对于内部的文件,你只能修改,不能添加,也无法删除……
x表示你对这个目录有可进入权限,也就是可以cd,如果没有这个权限,你cd到这个目录的时候,cd会告诉你:Permission denied,当然了,不能cd也就更不能ln了……
其实目录的权限实际上就是文件的权限,目录也是一个文件,只不过目录文件中记录着目录下的文件信息而已,你可以理解为目录文件就是一个记录着一堆文件名的文本文件……
所以,能不能删除文件只和目录权限有关和文件本身的权限是没有关系的,这就像能不能删除文本里的一行信息只和这个文件有没有w权限有关,和那行文字没有任何关系……
不过,如果你的testing目录下不是一个root用户的文件,而是一个root用户的目录(空目录不算,空目录和普通文件一样,目录中必须有文件),那么这个时候你就会发现,testing目录无法删除,原因和刚才说的一样,不过不是testing下的test目录无法删除,而是test目录下的文件无法删除,导致test目录也无法删除,导致testing目录也无法删除&……
如果想通了目录和文件是一码事,那么很容易理解,如果想不通就记住目录权限和文件权限不同就行了……
当然,这里所说的只有rwx,不涉及任何其他别的权限……
我按照你的做法,用root帐号创建目录testing ,然后再建立新的目录test,在test目录下建立文档test1
现在利用 chown cfl testing 修改权限,让 cfl拥有此目彔
然后su cfl
然后 rm -rf testing
确实不能删除了,但是,我还是没和明白为什么哦?请再帮我分析下哦?
|
因为目录testing属于cf1,所以可以删除testing目录下的test目录,但是test目录下有一个test1,所以想要删除test1必须拥有test目录的写权限,但test目录是root的。