目录
前言
1、用户、用户组、其他人
1.1用户、用户组、其他人之间的概念理解
1.2Linux系统中有用户身份与用户组记录的文件
2、Linux文件权限概念
第一列
第二列
第三列
第四列
第五列
第六列
第七列
Linux文件权限的重要性
3、Linux的目录与文件的权限意义
权限于文件
权限于目录
前言
Linux的环境为一个多人多任务环境,因此出于各个用户之间的保密性原因,它的文件管理权限就显得十分重要。
Linux一般将文件可读写身份分为三种类别,分别为:
- 拥有者(owner)
- 所属群组(group)
- 其他人(others)
三种身份各有读(read)、写(writer)、执行(execute)等权限
1、用户、用户组、其他人
1.1用户、用户组、其他人之间的概念理解
文件拥有者(用户)、用户组与其他人之间的关系,用个人的理解来看即户主、家庭成员与客人之间的关系。
文件拥有者即一个家庭的一家之主,可以为文件设置适当的权限
用户组为家庭成员们,家庭中有一个客厅可以供大家一起使用,用户组的成员可以共同访问“客厅”内的文件
其他人可以看做是客人。它们不论进入“客厅”还是“私人房间”都需要对方的同意才可进入
需要注意的是在Linux系统中有一个特殊的身份为root,他可以去往任何“地方”,即文件位置
1.2Linux系统中有用户身份与用户组记录的文件
在Linux系统的默认情况下,所有系统上的账号与一般身份用户、以及root相关信息都记录在/etc/passw这个文件内,至于个人密码则记录在/etc/shadow这个文件内。Linux内的组名都记录于/etc/group中,这三个文件可以说是Linux中的账号、密码、用户组信息的集中地
- /etc/passwd 记录账号信息
- /etc/shadow 记录个人密码
- /etc/group 记录用户组名
2、Linux文件权限概念
注:ls为list的意思,是Linux中显示文件的命令(目录也为文件),-al为ls命令的选项,即显示隐藏文件和文件信息
第一列
在上图中我们可以看到dr-xr-x---这一列
d r - x r - x - - -
1 2 3 4 5 6 7 8 9 10
通过观察,这一列一共为十位,这十位就代表了此文件的类型和权限
我们将它分成四个部分,即:
d r-x r-x ---
1 2 3 4
这四个部分分别代表的是文件类型、拥有者权限、用户组权限、其他人权限
从上图可以得出:rwx所在的位置不会变,有该权限就会显示字符,没有该权限就会显示减号(-)
第一部分有以下符号及其代表含义:
- d 表示它为目录
- - 表示它为文件
- | 表示它为链接文件
- b 表示它为设备文件里的可供存储的周边设备(可按块随机读写的设备)
- c 表示它为设备文件里的串行端口设备,例如键盘、鼠标等等一次性读取设备
第二、三、四部分有符号及其代表含义:
- r 表示可读(read)权限
- w 表示可写(write)权限
- x 表示可执行(execute)权限
以.bash_logout为例:
它的文件类型与权限为:-rw-r--r--
第一部分为文件类型(它为文件)
第二部分为文件拥有者可具备的权限(该文件拥有者可以读写,但不可执行)
第三部分为加入此用户组之账号的权限(用户组的账号只有读取权限)
第四部分为非本人且没有加入此用户组的其他用户的权限(其他账号只有读取权限)
第二列
从上图中我们可以看到3这一列
它表示了有多少文件名链接到此节点(inode)
每个文件都会将它的权限与属性记录到文件系统的inode中,不过,我们使用的目录树确实使用文件名来记录,因此每个文件名就会链接到一个inode,这个属性记录的就是有多少不同文件名链接到相同的一个inode号码
第三列
从上图中我们可以看到root这一列
它表示这个文件(或目录)的拥有者账号
第四列
从上图中我们可以看到root这一列
它表示这个文件的所属用户组
在Linux系统下,你的用户会加入一个或多个的用户组中
第五列
从上图中我们可以看到128这一列
它表示这个文件的容量大小,默认单位为Bytes
第六列
从上图中我们可以看到Jan 28这一列
它表示这个文件的创建日期或是最近的修改日期
这一栏的内容分别为日期(月/日)及时间,如果这个文件被修改的时间距离现在太久,那这部分只会显示年份而已
第七列
从上图中我们可以看到 . 这一列
它表示这个文件(或目录)的文件名(或目录名)
.表示当前目录
..表示上一层目录
如果文件名之前多了一个 . 则表示这个文件为隐藏文件
Linux文件权限的重要性
每个文件上面都添加了很多属性以及用户组的概念,其最大的用途为提高数据安全性
- 系统保护功能
比如:关于系统服务的文件通常只有root才能读写或执行
root基本上不受系统的权限所限制,因此无论文件权限是什么,root默认都可以读写
- 团队开发软件或数据共享的功能
可以利用用户组来设置团队开发,已达到团队内的人可以使用某一目录下的文件,而团队以外的人不予以开放
- 未将权限设置妥当的危害
权限设置妥当的处理可以防止造成其他人在系统上乱搞的现象
比如只有root才能做得开关机、ADSL的拨号程序、新增或删除用户等命令被改成了任何人都可使用的状态下,可能会导致系统莫名其妙的挂掉等等情况出现
3、Linux的目录与文件的权限意义
文件权限对于一般文件和目录文件的不同挺大的,所以需要注意下
权限于文件
r(read):可以读取此文件的实际内容
w(write):可以编辑、新增或是修改该文件的内容
x(execute):该文件具有可以被系统执行的权限
需要注意的事,在Windows系统下一个文件是否能够执行是根据文件的扩展名判断的,但在Linux下是由【x】这个权限来决定的
对于文件来说,rwx主要都是针对文件的内容而言,与文件名的存在与否没有关系,因为文件记录的是实际的数据
权限于目录
目录的主要内容为记录文件名列表,文件名与目录有强烈联系
r:表示具有读取目录结构列表的权限,比如使用ls把目录的内容列表显示出来
w:表示具有改动该目录结构列表的权限,也就是建立新的文件与目录、删除已经存在的文件与目录(无论该文件的权限是什么)、将已存在的文件或目录进行重命名、移动该目录内的文件、目录位置这些权限
x:表示用户是否能够进入该目录成为工作目录