Linux下文件的权限管理
文章主要从以下几个方面展开介绍:
- 文件的属性和权限
- 文件的权限和属性的更改
- 文件和目录的默认and隐藏权限
- 文件的特殊权限
注: 建议在Linux下使用root权限练习本部分;
第一部分 初识文件的类型和权限
1.1 文件类型和权限的查看方式
使用Linux的同学都知道,在Linux下列出当前目录下的文件和子目录的命令是 ls, 同时 ls 又有许多参数,我们现在要查看文件的类型和权限使用ls -al;
(也可单独用 ll 或者 stat 命令查看一个文件的属性)
:# ls -l / ;// 查看根目录下所有文件和目录
( 取部分截图)
分析: 我们可以看到每个文件都有7列的选项,那么我们就来分析这七列内容分别代表的含义;
取其中一行做示范:
-r-xr-xr-x. 5 root root 1024 Dec 24 04:00 test
[类型和属性] [链接数] [属主] [属组][文件大小] [修改时间][文件名]
[编号] 1 2 3 4 5 6 7
1.1.1:文件的类型和权限
-r-xr-xr-x 这个字符串我们需要分成两部分来看,第一部分是第一个字符,代表文件的类型;
linux下文件的类型通常有以下几类:
d : 代表一个目录;
- : 代表一个普通文件;
l : 代表一个普通文件;
b : 代表设备文件里面的可供存储的接口设备;
c : 代表设备文件里的串行端口设备;
比较常见的就是前三种文件类型,那么此时我们知道了test 是一个普通文件;
那么-r-xr-xr-x 剩余的那部分有代表了什么意思呢?代表了文件的权限;
我们可以又将 r-x r-x r-x 分为三部分来看,三个字符一组;
前三个字符代表的是文件的属主(文件的拥有者)的权限:Owner ;
中间三个字符代表文件的属组的同组其它用户的权限: Group;
最后三个字符就代表剩余的其它用户的权限:Others;
那么权限其中字符的含义是什么呢?
r : 代表可读权限,即可以读取文件内容;
w : 代表可修改权限,即可以对文件进行增删查改;
x : 代表文件可执行权限,对于目录又有不同的含义,后面说明;
- : 代表缺省;
那么此时我们就可以了解到 test 文件的权限为,test的属主对它拥有可读可执行权限,test的属组的其它同组用户对它拥有可读可执行权限,而剩余的其它用户对test的权限也是可读可执行;
当然,文件的权限的表示形式可不止字符一种,这个我们在讲修改文件权限的时候进行讲述;
1.1.2 : 文件的链接数
第二列参数是一个数字 5 : 代表此文件的链接文件数
关于文件的链接就不再进行赘述,下面是我总结的文件的链接的博客链接:
http://blog.youkuaiyun.com/bitboss/article/details/53940236
1.1.3 : 文件的属主和属组,即编号3和编号4
我在这里将文件的属主和属组放在一块讲;
所谓属主:即文件的拥有者,是存在于Linux中的一个用户;
所谓属组:即文件的的所属组,是存在于Linux中的一个用户组;
在上面的的例子中,文件test的属主和属组都是root,那么我们在在说明代表文件权限的9个字母的时候也说了文件的属主和属组这个概念, 那么,这两个有什么作用呢?
当然就是直观的让你知道文件的属主和属组;
这里大概说明一下,具体的会在关于Linux的用户管理中讲到;
下一小节,会该诉你如何对文件的属组和属组进行修改;
1.1.5: 文件的大小,即编号5
文件的大小,单位byte,即字节,可以很清楚的告诉我们文件的内容的大小,一般情况下,用 ll 命令查看和用stat命令查看的结果是一致的,但是如果是目录的链接的话,那就不一定了!
关于文件的链接目录的链接,我有整理专门的博客:
http://blog.youkuaiyun.com/bitboss/article/details/53940236
1.1.5: 文件的修改时间,即编号6
关于Linux下文件的时间参数,我专门用了一篇博客进行学习,而这里的编号5选项的即是三个时间参数中的修改时间,也就是最重要的mtime;
作用嘛,当然是显示 的告诉用户,上次被修改的时间,下面给出关于时间参数的详细讲解博客链接: