用户、组、文件目录的关系:
简介:用户和组关联,组合文件目录关联,这样就实现了用户对文件的权限管理。首先来看一下,一个文件或目录的权限是怎么查看的,ls -l, 如下,这个信息怎么看呢?
首先看第一部分,“dr-xr-xr-x.” 这个是权限说明, 这个字母各代表什么权限下面会说明。这个数字 5 和字母一样,也是权限说明,只不过一个是用字母表一个是用数字表示。
第二部分:权限信息里有两个“root”,首先来看第一个 “root” ,这个代表的是文件的所有者,也就是这个文件的拥有者,这是一个用户。
第三部分:再来看看第二个“root”,这个代表的是文件的所在组,这是一个组别,为什么组别和用户同名呢?因为创建用户时没有指定组,所以系统自动创建了一个组给用户
[root@localhost /]# ls -l
dr-xr-xr-x. 5 root root 4096 Jul 23 2021 boot
文件与组的关系:
强调1:用户与组。每一个用户都至少属于一个组,用户不能与组存在,一个用户可以属于多个组,组概念相当于角色。
强调2:文件与组。每一个文件或目录也必须属于一个组,而且也只能属于一个组。文件和目录能通过这个组来进行权限管理,当用户存在于这个组, 则用户就有这个文件或目录的权限
在文件或者目录中来看, linux系统中所哟的用户分为三类:
所有者:默认情况下,文件或目录的所有者属于创建者,可以修改
同组用户:同一个权限组下的其它用户
其它组用户:既不是文件所有者,也不是同组用户。
ls -l :查看文件的所有者和所在组信息。如下所显示,“ dr-xr-xr-x. ”这个是权限说明,“ root ”这个表示文件所有者, 第二个“ root ”表示文件所在组
[root@localhost /]# ls -l
dr-xr-xr-x. 5 root root 4096 Jul 23 2021 boot
chown 新所有者 文件名:修改文件或目录所有者。修改权限之前, 当前用户必须对文件有修改权限才行。
chown 新所有者:新所在组 文件名: 同时修改文件或目录(所有者)和(所在组)。
注意:修改目录所有者或所在组时, 目录底下的内容权限默认下是不会跟着改的。
chown -R 新所有者:新所在组 文件名: 递归修改目录所有者和所在组。
chgrp 新组名 文件名 :修改文件或目录所在组
文件和目录的三种权限:
对于文件而言:
读(Read):可以读取、查看文件内容,比如:cat、more、less、head、tail等
写(Write):可以修改文件的内容,比如:vi和vim等
执行(Execute):可以执行该文件,运行该文件,如:.sh文件,有执行权限才能去执行。
对于目录而言:
读:可以读取目录里面的文件,比如:ls
写:可以修改目录中内容,比如:创建在目录下创建文件、删除文件、重命名等
执行:可以进入该目录,比如:cd等。
文件和目录的权限控制:
在linux中,文件权限管理分别使用r(读)、w(写)、x(执行)来对文件权限的表示
rwx:表示对文件拥有读、写、执行权限
r-x:表示对文件拥有读、执行权限。
r--:表示对文件拥有读权限。
---:表示对文件没有权限。这里需要注意的是,如果没有某一个权限,则用-来表示。
在linux中,任何一个文件和目录都有三种部分权限:
第一部分:所有者权限。如下图,从2位到4位,就是“所有者”对该文件所对应的权限,读和写
第二部分:同组用户权限。如下图,从5位到7位,就是“同组用户” 对该文件所对应的权限。
第三部分:其它组用户权限。如下图,从8位到10位,就是 “其它组用户” 对该文件所对应的权限。
补充:那第1位的 - 代表的什么?-代表的是文件,如果是 d 代表的是目录
修改文件或目录的权限:
用+、-、=分别表示给指定用户组增加、减少、设置权限
用r、w、x分表读、写、执行权限
用u、g、o、a分别表示给所有者、同组用户、其它组用户、所有组用户修改权限。
举例示例:
chmod g-w,o+w 文件名:表示给所有者增加写权限,给其它组用户减少写权限。
chmod g=rwx 文件名:表示给所有者增加读、写、执行权限。
chmod a-r 文件名:表示给所有组用户剔除读权限。
通过数字来修改文件或目录的权限:
每一个权限除了可以用r、w、x来表示,也可以用数字4、2、1来表示是,它们所对应的权限就是r、w、x。
每一个组别的权限,也可以用数字之和来表示,怎么理解呢? 假如说所有组、同组用户、其他组用户的权限分别是rwx、r-x、---,可以看到它们的权限分别是读写执行、读和执行、无权限。这时候可以用数字之和来表示7、5、0。结合上面讲的数字权限,相信你已经看出规律了,那来看一下他们是怎么使用的。
举例示例:
chmod 777 文件名:表示给所有者、同组用户、其它组用户都增加读、写、执行权限
chmod 753 文件名:表示给所有者、同组用户、其它组用户分别修改权限为读写执行、读执行、写执行权限。
chmod 000 文件名:表示给所有用户组的权限都修改为无权限。