在Linux中文件夹同样有rwx的选项,那这些选项有什么功能,我自己记录一下。

 

首先根据我有限的知识,Linux下的文件系统创建一个目录时,文件系统会分配一个inode与至少一个block给该目录。其中,inode记录该目录的相关权限与属性,并可记录分配到的那块block号码;而block则是记录在这个目录下的文件名与改文件名占用的inode号码数据。

 

上面的这句话是关键,摘抄与鸟叔的Linux学习一书。

 

作为一个directory,rwx中,x相对来说是最重要的,在目录中,用户只要对任意一个目录没有x的权限,那该目录之下[不包括该目录]的所有文件以及目录都没有权限进行任何操作。

 

对于一个目录的x权限,我的理解为可以进入该目录的block区块,从具体的行为描述为可以进入该目录。你可以对该目录下的文件进行读写操作,但你如果没有r的权限,不能看到里面所有的文件,且tab自动填词也无效,同时因为对该目录没有w的权限,对与该目录下的文件没有删除与改名的权限。

 

当一个目录没有x的权限的时候,如果具有rw是没有意义的,加入单独有r权限,你可以通过ls查看该目录下的内容,但只能看到文件名,不能看到文件的权限。

当只有w的时候,更加毫无作用,因为从r的单模式就可以看到,没有x的权限没有办法读取到目录下文件的inode信息,【包括rwx信息】,所以如果一个目录单只有w的权限,该用户对该目录可以说毫无任何功能

 

 

简单做一个总结。

如果你想给指定的用户这个目录操作的权限必须要给x权限,要不然一切都是空谈。x权限是用户读取或者操作该目录下文件的前置条件。

一般配置为rx,可以读取该目录下的文件信息,并对目录下的文件内容进行,但不能对文件进行删除,改名等操作。

配置为wx,基本可以对目录下的文件进行所有的操作,但无法通过ls查看目录中的文件信息,并且tab不会自动填词。

 

所以建议目录的配置,一般配置为rx,或者rwx,,尽量避免没有x权限的属性,要不然,r与w不起作用。