当前位置: 技术问答>linux和unix
linux 中目录权限的有关问题
来源: 互联网 发布时间:2017-01-06
本文导语: 比方说,我在root帐号下建立目录 testing 其目录权限是rwxr--r-- cd testing 下,利用touch建立文档 test 该文档的权限是 rw-r--r-- 我现在利用 chown cfl testing 修改权限,让 cfl拥有此目彔 但是目录testing下面的文档test的...
比方说,我在root帐号下建立目录 testing
其目录权限是rwxr--r--
cd testing 下,利用touch建立文档 test 该文档的权限是 rw-r--r--
我现在利用 chown cfl testing 修改权限,让 cfl拥有此目彔
但是目录testing下面的文档test的权限拥有者是root的
这个时候,我用 su cfl后
发现,我可以删除目录testing 下面的文档test ,请问为什么呀?
其目录权限是rwxr--r--
cd testing 下,利用touch建立文档 test 该文档的权限是 rw-r--r--
我现在利用 chown cfl testing 修改权限,让 cfl拥有此目彔
但是目录testing下面的文档test的权限拥有者是root的
这个时候,我用 su cfl后
发现,我可以删除目录testing 下面的文档test ,请问为什么呀?
|
显然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,不涉及任何其他别的权限……
对于文件,没什么可说的,很简单……
对于目录来说……
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,不涉及任何其他别的权限……