1

2.4Linux下文件与目录权限的意义

Posted by 撒得一地 on 2015年9月25日 in Linux教程

Linux系统内文件有三种身份(拥有者、群组与其他人),每种身份都有三种权限(rwx)。修改权限和属性可以用chown, chgrp, chmod这几个命令,要查看文件权限和属性可以用ls -l命令。那么权限对linux下文件管理有什么重要的意义呢?

权限对文件的重要性
一般对文件的操作不外乎,写操作、查看等。所以(rwx)三种权限以用户的角度来说就是:

r(read):可以读取文件内容,如文字字符等。

w(write):可以对文件的内容进行编辑,添加等。(但不具备删除该文件的权限)

x(execute):该文件具有被系统执行的权限。

x这个权限不是特别好理解,在window下,后缀为.exe是典型的可执行文件。在linux下文件具有可执行权限的含义是该文件能不能被执行,对于脚本文件来说,文件必须要有被执行的权限,然后这个脚本文件才能被运行。如果一个用户对某文件仅有r、w权限,但没有x权限时,那么这个用户可以查看修改文件内存。但是用户不能执行这个文件(例如这个文件为脚本文件)。

权限对目录的重要性
目录记录文件列表,那么r、w、x对目录又有什么意义?
r(read contents in directory):读取目录列表,所以当用户对一个目录具有读权限的时候,表示该用户可以查询该目录下的文件列表,用户可以用ls命令将目录下的文件列表显示出来。
w (modify contents of directory):这个权限对于目录来说,是非常有用的,用户如果对目录具有写权限,可以在该目录下完成下面的操作:
建立新的文件或目录;
删除已经存在的文件和目录(不论该文件权限是什么);
修改已存在的目录名或文件名;
移动该目录内的文件、目录位置。
x (access directory):目录的x代表的是用户能否进入该目录进行工作。

举个例子:
有个目录的权限如下所示:
drwxr--r--  3  root  root  4096   Jun 25 08:35   .ssh

如果系统有个普通用户ppp,ppp对于该目录来说就是其它人,只有读权限。所以,ppp可以用ls来查询目录下的文件名列表,但ppp不能用cd(change directory)命令切换到此目录,因为ppp对该目录不具备x权限。
也就是说,如果你在某目录下不具有x的权限, 那么你就无法切换到该目录下,也就无法执行该目录下的任何指令,即使你具有该目录的r的权限。
如果你是目录的管理者,你要开放目录给任何人浏览,那么至少要给予r和x权限。x让用户可以进来该目录,r让用户可以查看该目录的文件列表。如果你光能进入目录,但看不到任何文件也没用。

再举个例子:

假设有个用户名称为student,他的家目录在/home/student/,student对此目录具有[rwx]的权限。 若在此目录下有个名为teacher的文件,该文件的权限如下:

-rwx------ 1 root  root  4365 Sep 19 23:20  teacher

请问student对此文件的权限为何?可否删除此文件?

由于student对此文件来说是『others』的身份,因此这个文件他无法读、无法编辑也无法执行,也就是说,他无法变动这个文件的内容。
但是由于这个文件在他的家目录下, 他在此目录下具有rwx的完整权限,因此对于teacher这个文件来说,他是能够删除和移动的! 
所以结论就是,student这个用户能够删除teacher这个文件!

x 在目录当中是与『能否进入该目录』有关, 至于那个 w 则具有相当重要的权限,因为他可以让使用者删除、更新、新建文件或目录, 是个很重要的参数!

标签:,

上一篇:

下一篇:

相关推荐

1 Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注

0 + 9 = ?

网站地图|XML地图

Copyright © 2015-2018 技术拉近你我! All rights reserved.
闽ICP备15015576号-1,版权所有©psz.