Linux下对于文件权限的控制是比较严格的,但同时也很灵活,这也与它注重系统安全以及多人多工下工作的特性有关。对于系统的所有文件,都有三个身份的权限,分别是所有者、所属用户组、其他用户。而这三个身份下又分别有各自的读、写、执行的权限,可谓考虑周到。对于这些权限控制的详细信息,可以很容易在网上找得到,在这就不一一细说了。


在这我主要针对的是在只读权限下文件和文件夹两者之间所表现出来的一些差异来说一下,当然,我是初学者,可能有说不到位的地方,请见谅。


只读权限,从字面上的意思就可以看出来这是让用户对文件只有查看的权限,而不能修改。而这对于普通文件来说,功能确实如此。例如,先建立一个文件test,把文件的权限设置为只读,这时候,用户只能查看文件的内容,却不能做改动,这个很好理解,只读嘛,当然不能该咯。但对于文件夹,却有一点不一样,现在有一个名叫testfolder的文件夹,文件夹的权限为只读,文件夹下有一个名为test的文件,那么,用户可不可以进入文件夹看到test文件呢?答案是不可以(不能进入文件夹查看,但是却可以使用命令ls testfolder 来查看下面的文件列表),这就奇怪了,明明是只读的文件夹,就是说可以查看嘛,为什么不能进入文件夹内查看文件呢?是不是只读权限对文件夹的限制与文件不一样呢?

很明显,这是不可能的。那原因在哪里?


真正的原因我还没有去仔细寻找权威答案,在这就我对Linux的学习中的理解来讨论一下。在Linux系统下,所有的东西都是以文件的形式存在,当然,包括文件夹还有各种硬件设备。这里可能对于一些没接触过Linux的人来说有点难以理解,文件夹就是文件夹,为什么会是文件?但是对于Linux来说,文件夹就是文件,它有着文件的一切属性和特点,但它又与普通文件有不同,因为它本身并没有内容,它的作用仅仅是关联到另外一些文件中,也就是说,我们进入文件夹,看到里面的内容,其实就是通过这个文件夹的名称,查看它所关联的具体文件,好,这样一来,上面的只读权限对于文件夹的差异就可以解释的通了,只读权限只能让用户对文件有查看操作,但是进入文件夹这一操作已经不是查看的操作了,用户当然就不能进入文件夹查看下面的东西了。那么,如何才能进入文件夹查看文件呢,很简单,授予当前用户执行的权限就可以了,原来,对于Linux系统来说,进入文件夹就是对文件的一种执行操作。果然有意思。


不过要注意的是,这种限制只对终端有限制,如果使用如gnome等桌面的时候,就没了这种限制了,就算是只读的,也可以进入文件夹查看下面的内容,不过对下面的文件不能查看也不能操作(子文件夹也不能在打开),就算下面的文件本来有查看权限的也不可以。


对于桌面环境下和终端下的不同以我浅薄的Linux知识也是搞不清楚,还要在以后的学习中慢慢摸索一下。也希望有大牛能解答下,呵呵。


实验测试环境:fedora 15

Logo

更多推荐