❤️1.Linux用户的概念
️Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制!
普通用户:在linux下做有限的事情!
️超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。
☸️1.1角色切换
㊗️1.1.1普通用户切换到超级用户
️su和su-的区别:
(1)对于su-:首先whoami查看当前的用户,pwd查看当工作的目录,在su-进行目录的切换
也可以用sudo-s,借助su-s要输入的是用户的密码;而su-要输入的是超级用户的密码!
(2)对于su:首先whoami查看当前的用户,pwd查看当工作的目录,在su进行目录的切换
su/su-的区别:都是普通用户到root用户的转换;su还使用当前路径,su-跳转到root的家目录!
㊗️1.1.2超级用户切换到普通用户
直接exit或则ctr+d就可以登载,回到普通用户
注意:
(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文件权限的深入理解
️对于第一位的文件类型又有好多种:
️我们最常见的文件类型就是前两种d和-;感兴趣的朋友不妨找一找:
ls-l/dev上面有好多以字符c开头的设备和其他文件的类型;
对于管线文件极少见,我们借助mkfifof创建一个管线文件f,在ll就可以查看了
☸️2.2文件权限的修改
️基本权限
读(r/4):Read对文件而言,具有读取文件内容的权限;
对目录来说,具有浏览该目录信息的权限;
写(w/2):Write对文件而言,具有更改文件内容的权限;
对目录来说具有删掉联通目录内文件的权限;
执行(x/1):Execute对文件而言,具有执行文件的权限;
对目录来说,具有步入目录的权限;
“—”表示不具有该项权限;
️文件权限值的表示方式
字符表示方式
8补码数值表示方式
㊗️2.2.1文件访问权限的相关设置方式
️chmod功能:设置文件的访问权限
格式:chmod[参数]权限文件名
常用选项:R->递归更改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
️chmod命令权限值的格式:用户表示符+/-=权限字符
+:向权限范围降低权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋于权限代号所表示的权限
️用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
㊗️2.2.2文件访问权限的更改方式和理解
️更改方式1:借助字符进行更改
就拿222这个文件进行举例:
给222的其他人(o)降低wx权限;所有者(x)除以w权限
把222所有权限都除去
️更改方式2:三位8补码数字
第二种方式愈加的简单,但没有第一种直观;我们借助r(4)、w(2)、x(1);就相当于3位比特位:000-111(0-7);例如一个权限要更改成rwxr-xr-x对应的数字就是:755;
如果把上述的222文件更改为rw-rw-r对应就是664
️-R递归形式更改权限
对于递归形式的更改权限类似于递归形式的创建,我们就先用mkdir-p递归创建几个目录
mkdir-p/japan/1/2/3;并ll查看权限,都是有可执行x的;
对于目录来说,在创建时会默认有可执行权限x的,这样就能步入目录;假如我们想要把japan目录包括他前面的目录都难以进去;直接执行:chmod-Ra-xjapan即可!
️普通用户可以删掉root用户创建的文件的事例
哪些?我并没有sudo提高权限linux系统,普通用户竟然删掉可以删掉我root用户创建的文件?
那还得啦了!其根本缘由是目录权限的问题!
(1)首先我们先执行whoami和pwd验证一下当前的用户和家目录是不是root;验证完成就开始创建目录mkdir/temp;并设置权限为777,chmod777/temp;cd/temp在上面在创建一个文件,touch111;
(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进行运行权限的提高:
️示例:递归更改-R
这个似乎和递归创建mkdir-p很相像;如果我们递归更改一个目录111:sudochown-Rroot111,它会把111目录下的其它目录或则用户的所有者都改成root!这儿不太好截屏展示,感兴趣的男子伴自己动手试试!
㊗️2.3.2更改文件的所属组
️chgrp
功能:更改文件或目录的所属组
格式:chgrp[参数]用户组名文件名
常用选项:-R递归更改文件或目录的所属组
️示例:我们把文件222的所字段更改为root;给被人东西要经过他人的同意,所以要加上sudo进行运行权限的提高:
同样和chown更改所有者一样,更改所属组chgrp也可以借助-R参数进行递归更改!
㊗️2.3.3同时更改文件的所有者和所属组
这样分开一个个更改太麻烦了,怎么同时更改文件的所有者和所属组呢?
️示例:我们把222文件的所有者和所属组更改回去,弄成zl
❤️3.知识点补充
️假如想步入一个目录,须要哪些权限?
不是w,也不是rlinux系统用户权限管理,须要可执行权限x
️注:对于r(读)、w(写)、x(执行)
对于文件而言:读(w)代表可以读取内容,写(r)代表可以更改内容,可执行(x)代表可执行文件;
对于目录而言:读(w)代表可以浏览目录,写(r)代表可以删掉联通目录,可执行(x)代表可步入目录;
所以对于目录的创建,默认都有可执行权限x;对于文件的创建默认没有可执行权限x;
☸️3.1缺省权限:umask
️问题的提出
不晓得你们发觉没有发觉我们每次创建的目录权限都是一样的rwxr-xr-x,例如我们创建一个boduo目录,并查看它的权限:
而创建的文件权限都是目录权限除以x权限rw-r--r--:
这是为何呢?
️问题的解决
这就和缺省权限有关了;我们借助umask命名查看一下,发觉结果是0022红旗linux系统,第一个0是特殊权限不须要管,022是哪些意思呢?
我们不妨在加一个参数-S:都会以rwx的方式显示新建文件的缺省权限,umask-S
所以我们创建的目录权限都是rwxr-xr-x,除去可执行权限xlinux系统用户权限管理,就是文件的权限了rw-r--r-
我们理解了这一层再来解释022哪些意思:2是w权限,所以就是0ww;用777权限rwxrwxrwx与022权限0ww异或结果就是创建的目录权限rwxr-xr-x;