Linux基础篇(3)---》常用命令大全(权限管理命令)

目录

❤️1. Linux用户的概念

☸️1.1 角色切换

㊗️1.1.1 普通用户切换到超级用户

㊗️1.1.2 超级用户切换到普通用户

❤️2. Linux权限管理

☸️2.1 文件权限的理解

㊗️2.1.1 文件权限的深入理解

☸️2.2 文件权限的更改

㊗️2.2.1 文件访问权限的相关设置方法

㊗️2.2.2 文件访问权限的修改方法和理解

☸️2.3 修改文件的所有者、所属组

㊗️2.3.1 修改文件的所有者

㊗️2.3.2 修改文件的所属组 

㊗️2.3.3 同时修改文件的所有者和所属组 

❤️3. 知识点补充

☸️3.1 缺省权限:umask 


❤️1. Linux用户的概念

️Linux下有两种用户:超级用户(root)、普通用户。
    超级用户:可以再linux系统下做任何事情,不受限制 !
    普通用户:在linux下做有限的事情!

️超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

☸️1.1 角色切换

㊗️1.1.1 普通用户切换到超级用户

su和su-的区别:

(1)对于su -:首先whoami查看当前的用户,pwd查看当工作的目录,在su - 进行目录的切换

Linux基础篇(3)---》常用命令大全(权限管理命令)_第1张图片

也可以用sudo -s,利用su -s要输入的是用户的密码;而su -要输入的是超级用户的密码!

(2)对于su:首先whoami查看当前的用户,pwd查看当工作的目录,在su进行目录的切换

Linux基础篇(3)---》常用命令大全(权限管理命令)_第2张图片

su/su-的区别:都是普通用户到root用户的转换;su还使用当前路径,su- 跳转到root的家目录!

㊗️1.1.2 超级用户切换到普通用户

直接exit或者ctr+d就可以登出,回到普通用户

Linux基础篇(3)---》常用命令大全(权限管理命令)_第3张图片

注意

(1)以上都是我们才开始登录的是普通用户切换到超级用户root,再切换回来的过程!

(2)如果是我们才开始登录的就是超级用户root,怎么切换普通用户呢?利用su - 用户名;切换回来还是exit或者ctrl+d回到超级用户root

❤️2. Linux权限管理

☸️2.1 文件权限的理解

文件的权限是为了约束普通人

1. 文件属性:r(读)、w(写)、r(执行),对应的数字码为:4、2、1

2. 人属性:u(文件的拥有者)、g(文件的所属组)、o(文件的其他人)

文件权限的理解和作用

对于同一个项目,可能需要很多人共同去完成;我们只想让共同完这个项目的人可以看见,其他人都看不见;

假如拥有者是你,对于你来说,其他所有的人都是其他人;那么怎么让和你共同完成项目的人也能看到呢?这就需要所属组,我们创建一个所属组(g);把共同完成这个项目的人全都加到这个组里,就能很好的解决这个问题!这样就能对同组内可见,其他人不可见!

㊗️2.1.1 文件权限的深入理解

Linux基础篇(3)---》常用命令大全(权限管理命令)_第4张图片

️对于第一位的文件类型又有很多种:

Linux基础篇(3)---》常用命令大全(权限管理命令)_第5张图片️我们最常见的文件类型就是前两种d和-;感兴趣的同学不妨找一找:

    ls -l /dev 里面有很多以字符c开头的设备和其他文件的类型;

    对于管道文件很少见,我们利用mkfifo f创建一个管道文件f,在ll就可以查看了

☸️2.2 文件权限的更改

️基本权限

    读(r/4):Read对文件而言,具有读取文件内容的权限;

                               对目录来说,具有浏览该目录信息的权限;
    写(w/2):Write对文件而言,具有修改文件内容的权限;

                               对目录来说具有删除移动目录内文件的权限;
    执行(x/1):Execute对文件而言,具有执行文件的权限;

                                        对目录来说,具有进入目录的权限;
    “—”表示不具有该项权限;

️文件权限值的表示方法

字符表示方法

Linux基础篇(3)---》常用命令大全(权限管理命令)_第6张图片

8进制数值表示方法

Linux基础篇(3)---》常用命令大全(权限管理命令)_第7张图片

㊗️2.2.1 文件访问权限的相关设置方法

️chmod 功能:设置文件的访问权限           

    格式:chmod [参数] 权限 文件名 
    常用选项: R -> 递归修改目录文件的权限 
    说明:只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式:用户表示符+/-=权限字符
    +:向权限范围增加权限代号所表示的权限 
    -:向权限范围取消权限代号所表示的权限 
    =:向权限范围赋予权限代号所表示的权限 
用户符号:   
    u:拥有者 
    g:拥有者同组用 
    o:其它用户 
    a:所有用户

㊗️2.2.2 文件访问权限的修改方法和理解

修改方法1:利用字符进行修改

就拿222这个文件进行举例:

Linux基础篇(3)---》常用命令大全(权限管理命令)_第8张图片

给222的其他人(o)增加wx权限;所有者(x)减去w权限

Linux基础篇(3)---》常用命令大全(权限管理命令)_第9张图片

把222所有权限都去掉

Linux基础篇(3)---》常用命令大全(权限管理命令)_第10张图片

️修改方法2:三位8进制数字

第二种方法更加的简单,但没有第一种直观;我们利用r(4)、w(2)、x(1);就相当于3位比特位:000-111(0-7);比如一个权限要修改成rwx r-x r-x对应的数字就是:7 5 5;

假如把上述的222文件修改为rw- rw- r 对应就是664

Linux基础篇(3)---》常用命令大全(权限管理命令)_第11张图片

️-R递归方式修改权限

对于递归方式的修改权限类似于递归方式的创建,我们就先用mkdir -p递归创建几个目录

mkdir -p /japan/1/2/3;并ll查看权限,都是有可执行x的;

对于目录来说,在创建时会默认有可执行权限x的,这样才能进入目录;如果我们想要把japan目录包括他后面的目录都无法进去;直接执行:chmod -R a-x japan即可!

️普通用户可以删除root用户创建的文件的例子

什么?我并没有sudo提升权限,普通用户居然删除可以删除我root用户创建的文件?

那还得啦了!其根本原因是目录权限的问题!

Linux基础篇(3)---》常用命令大全(权限管理命令)_第12张图片

(1)首先我们先执行whoami和pwd验证一下当前的用户和家目录是不是root;验证完成就开始创建目录mkdir /temp;并设置权限为777,chmod 777 /temp;cd /temp在里面在创建一个文件,touch 111;

(2)我们查看111的权限,ll /temp/111发现权限对于其他人(只有r权限),并且所有者和所数组都是root;

(3)su - zl切换到普通用户zl,执行rm -rf /temp/111竟然可以删除root刚才创建的111文件?其根本原因是文件所在的目录temp的权限是777!

☸️2.3 修改文件的所有者、所属组

㊗️2.3.1 修改文件的所有者

chown 
    功能:修改文件的拥有者 
    格式:chown [参数] 用户名 文件名 ;参数-R递归修改

    常用选项:-R 递归修改文件或目录的所有者

示例:我们把文件222的所属者修改为root;给被人东西要经过别人的同意,所以要加上sudo进行运行权限的提升:
Linux基础篇(3)---》常用命令大全(权限管理命令)_第13张图片

 示例:递归修改-R

这个其实和递归创建mkdir -p很相似;假如我们递归修改一个目录111:sudo chown -R root 111,它会把111目录下的其它目录或者用户的所有者都改成root!这里不太好截屏展示,感兴趣的小伙伴自己动手试试!

㊗️2.3.2 修改文件的所属组 

chgrp 
    功能:修改文件或目录的所属组 
    格式:chgrp [参数] 用户组名 文件名 
    常用选项:-R 递归修改文件或目录的所属组

示例:我们把文件222的所数组修改为root;给被人东西要经过别人的同意,所以要加上sudo进行运行权限的提升:

Linux基础篇(3)---》常用命令大全(权限管理命令)_第14张图片

同样和chown修改所有者一样,修改所属组chgrp也可以利用-R参数进行递归修改! 

㊗️2.3.3 同时修改文件的所有者和所属组 

这样分开一个个修改太麻烦了,如何同时修改文件的所有者和所属组呢?

例:我们把222文件的所有者和所属组修改回来,变成zl

Linux基础篇(3)---》常用命令大全(权限管理命令)_第15张图片

❤️3. 知识点补充

如果想进入一个目录,需要什么权限?

     不是w,也不是r,需要可执行权限x

️注:对于r(读)、w(写)、x(执行)

对于文件而言:读(w)代表可以读取内容,写(r)代表可以修改内容,可执行(x)代表可执行文件;

对于目录而言:读(w)代表可以浏览目录,写(r)代表可以删除移动目录,可执行(x)代表可进入目录;

所以对于目录的创建,默认都有可执行权限x;对于文件的创建默认没有可执行权限x;

☸️3.1 缺省权限:umask 

️问题的提出

不知道大家发现没有发现我们每次创建的目录权限都是一样的rwx r-x r-x,比如我们创建一个boduo目录,并查看它的权限:

而创建的文件权限都是目录权限减去x权限rw- r-- r--

 这是为什么呢?

️问题的解决

这就和缺省权限有关了;我们利用umask命名查看一下,发现结果是0022,第一个0是特殊权限不需要管,022是什么意思呢?

 我们不妨在加一个参数-S:就会以rwx的形式显示新建文件的缺省权限,umask -S

所以我们创建的目录权限都是rwx r-x r-x,去掉可执行权限x,就是文件的权限了rw- r-- r-

我们理解了这一层再来解释022什么意思:2是w权限,所以就是0ww;用777权限rwxrwxrwx与022权限0ww异或结果就是创建的目录权限rwx r-x r-x;

Linux基础篇(3)---》常用命令大全(权限管理命令)_第16张图片

你可能感兴趣的:(Linux,linux,服务器)