Day -11-Linux 用户的基本权限

一、权限的概述

1、什么是权限

主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统的使用权力。

2.为什么要有权限

因为系统中不可能只存在一个root用户,一定会存在多个用户(普通用户),为了保护每个登陆用户的隐私和工作环境,所以就有了权限。

3.权限与用户之间的关系

在Linux系统中,针对文件定义了三种身份,分别是属主、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(r)、可写(w)、可执行(x)。
!示例图

图片.png

用户对文件资源,当一个用户访问文件流程如下:

  • 1)判断用户是否为文件所有者(属主),如果是则按所有者的权限进行访问
  • 2)判断用户是否为文件所有组成员(属组),如果是则按组的权限进行访问
  • 3)如果不是所有者,也不是该文件所属组,则按匿名权限(其他组‘附加组’)进行访问

4.权限中 rwx 的含义

当我们使用 ls -l 查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位,比如: rwxr-xr-x其中每三位字符为一组,分别表示属主权限位,属组权限位,匿名权限位(其他用户的权限 ——如附加组)。
linux中基本权限位则是使用这 9 位字符来表示,主要控制文件属主(User)、属组(Group)、其他用户(Other)

字母 含义 数字对应权限
r(read) 读取权限 4
w(write) 写入权限 2
x(execute) 执行权限 1
-(没有权限) 没有权限 0
如果权限位不可读、不可写、不可执行,则全部使用 - 作为占位符表示。

二、设置权限

1.为什么设定权限

方便以赋于某个 用户或 组 能够以 何种 权限 访问某个 文件

2.设定(变更)权限 —— 命令 :chmod

Linux中root用户可以 变更 所有文件的权限,普通用户仅能变更属于自己的文件。

1) 变更权限示例——利用数字(number)


(1)变更权限——只针对文件

设定属主(读写权限),属组(读权限),其他用户无权限 : -rw-r-----
[root@oldboy ~]# ll
-rw-r--r--. 1 root root 0 Aug  7 17:43 1.txt
[root@oldboy ~]# chmod 640 1.txt 
[root@oldboy ~]# ll
-rw-r-----. 1 root root 0 Aug  7 17:43 1.txt
[root@oldboy ~]# 

(2)变更权限——只针对目录

参数:-R 递归 可以将目录下面的文件可以全部设为和目录相同的权限

设置wode目录的权限位      764    rwxrw-r-- 
[root@oldboy ~]# ll
drwxr-xr-x. 2 root root 6 Aug  7 17:59 wode
[root@oldboy ~]# chmod 764 wode/
[root@oldboy ~]# ll
drwxrw-r--. 2 root root 6 Aug  7 17:59 wode
[root@oldboy ~]# 

利用递归 -R 将wode的目录及下面的文件的权限全部设为 777  rwxrwxrwx
[root@oldboy ~]# chmod -R 777 wode/
[root@oldboy ~]# ll -d wode/
drwxrwxrwx. 2 root root 19 Aug  7 19:21 wode/
[root@oldboy ~]# ll -d wode/1.txt 
-rwxrwxrwx. 1 root root 0 Aug  7 19:21 wode/1.txt
[root@oldboy ~]# 

2)利用ugo (注:u=user, g=group, o=other, a=all=ugo)

[root@oldboy ~]# touch file                 创建file文件
[root@oldboy ~]# chmod a=rwx file           给所有人(ugo)添加读写执行权限
[root@oldboy ~]# chmod a=-rwx file          取消所有的权限
[root@oldboy ~]# chmod u=rwx,g=rw,o=- file     属主读写执行,属组读写,其他人无权限
[root@oldboy ~]# chmod ug=rwx,o=r file         属主属组读写执行,其他人读权限
[root@oldboy ~]# ll file
-rwxrw-r-- 1 root root 0 Apr 13 03:29 file
  ugo 的方式基本不用,用起来不如数字规定权限方便

3.权限验证

1)针对文件:

权限 执行结果
r 能读取文件内容 w: 能写入文件 (不能看) vim x: 能执行文件(如果没有 r 权限,单有 x 没有用)
rw 能查看文件,能编辑文件. 不能执行.不能删除,不能移动,不能复 制 (常用1)
rx 能查看文件,不能编辑,能执行. 不能删除,不能移动,不能复制 (常用2)
rwx 能查看文件,能编辑文件,能执行. 不能删除\移动\复制 --->使用 较少

2)针对目录的权限:

权限 执行结果
r 具有浏览目录的权限,无法进入目录,使用ls 查看目录下的文件会 报错,但会显示文件名称, 如果使用 ls-l 只能看到文件名称,其他的 全部无法查看.
w 什么权限也没有 x: 能进入目录,其他什么也没有
rx 能进入目录,能查看目录下的文件,至于操作文件,需要看文件本 身的权限. (常用1)
rwx 如果目录赋予了w权限,则该目录下的文件可以复制\删除\移 动\修改\

三、属主和属组变

chown 更改属主以及属组 -R:递归修改

准备环境,创建文件和目录
[root@oldboy ~]# mkdir dir/test1 && touch dir/file
示例1: 修改所属主为bin 
[root@oldboy ~]# chown bin dir/
示例2: 修改所属组为adm 
[root@oldboy ~]# chown .adm dir/
示例3: 递归修改目录及目录下的所有文件属主和属组 
[root@oldboy ~]# chown -R root.root dir/

四、总结

今天主要学了什么是权限?、权限就是一种约束解释 、为什么要有权限、 权限和用户之间的关系、权限如何设定、 变更权限chmod、怎样通过命令改变属主和属组。

你可能感兴趣的:(Day -11-Linux 用户的基本权限)