Linux基础——007_权限管理

权限管理

1、权限介绍

权限有三种
读权限:对于文件,影响用户是否可以看到文件的内容;对于文件夹来说,影响用户是否可以看的见目录的结构。
写权限:对于文件来说,影响用户是否可以修改文件内容(对文件内容进行编辑);对于文件夹来说,影响到用户是否可以变化文件夹的目录结构(增、删、改、创建文件)
执行权限:对于文件来说(特别是脚本文件),影响文件是否可以运行。对于文件夹来说,影响用户是否可以在文件夹内执行命令。

2、身份介绍

owner身份(文件夹 or 文件的所有者,默认是文档的创建者)

一个工作者创建的文件,除了这个工作者自己(owner)之外没人能对这个文件进行访问和操作。

group身份 (和文件所有者同组的用户)

工作者A和工作者B被分到了相同的组,如果A对自己的文件设置了组的权限,那么B也可以访问和他同组的A的文件。

others身份(其他人、相对于所有者和同组的用户)

如果A创建的文件设置了其他人的权限,不仅自己(owner)、同组的人(group),
其他人(others)也可以看的见这个文件。

3、Linux权限查看

语法:# ls -l 文件夹名/文件名
执行结果:
在这里插入图片描述
前面的这一堆全都是十个字符,关于十个字符

解释如下:
1位: 文件的类型, 之前介绍过【d : 文件夹 - : 普通文件 l :软连接 s:套接字文件
c:字符设备 b:块状设备】
2-4位 :owner权限
5-7位 :group权限
8-10位 :others权限

三位的取值情况:
第一位:读权限 取值 r/-
第二位:写权限 取值 w/-
第三位:执行权限 取值 x/-

比如说:rw-就是有读权限、有写权限、没有执行权限

4、权限设置

语法:# chmod 选项 权限模式 文档路径
注意事项:-R 递归设置权限,当设置文件夹权限的时候同时把当中的文件权限统一, 使用递归进行设置。

给谁设置???

选项:
(谁)u g o a 【user group owner all】
(作用)+ - = 【增加权限 减少权限 确定权限】
(权限)r w x 【read write execute】

演示:
例如我现在的文件夹是这样的:
在这里插入图片描述桌面上有test文件夹,test当中有2020test1.txt和passwd文件。还有一个testdir文件夹。现在要给文件夹 testdir 设置所有者全部权限,同组用户读写权限, 其他人只读权限

因为现在的testdir对group身份是rx,所以需要加上w, 对others的身份是rx,所以需要减少x执行权限。所以执行命令: # chmod g+w, o-r test/testdir
在这里插入图片描述
如果两部分执行权限相同的时候可以进行合并。# chmod ugo+rwx

5、权限设置(数字形式)

权限代表的数字:
读权限-4、写权限-2、执行权限-1

权限的组成符合最短路径原则:
1——不读、不写、可执行 没用
2——不读、可写、不执行 没用
3——不读、可写、可执行 没用
4——可读、不写、不执行
5——可读、不写、可执行
6——可读、可写、不执行
7——可读、可写、可执行

标注没用的是因为文件或者文件夹连读权限都没有, 更别提写和执行了

演示:
(1)设置test/passwd文件的权限是 所有着全部权限、同组用户可读可写、其他人只读权限 # chmod 764 test/passwd:
在这里插入图片描述
扩展:
创建文档的权限只有一个默认值,文件夹的权限是755、文件的权限是644
之所以是这样,是因为掩码(usmask)的值的影响,默认值是022
计算方式:
文件:666 - 022 = 644
文件夹:777 - 022 = 755

6、属主和属组

还记得之前的目录当中有这两列数据吗??
在这里插入图片描述
第一列数据就是属主, 第二列的数据是属组
属主的意思是它属于什么用户, 属组的意思是它属于哪个用户组

之所以需要这两列,原因是在删除用户之后,他名下的那些文件和文件夹需要有人接手。交接的时候修改这两列即可。

6.1 chown 更改文档所属用户 【change owner】

语法:# chown 【-R】 新的username 文档路径
把java目录的所有者设置为 miss.virgo
演示:
在这里插入图片描述
注意的点:这个操作只能是文件所有者或者是root用户执行,其他的用户不能执行,因为这个文件不能强制被别人夺去。出于安全考虑。
在这里插入图片描述

6.2 chgrp 更改所属用户组 【change group】

语法:# chgrp 【-R】 新的groupname 文档路径。

这个命令没什么大用处,因为chown也可以达到相同的效果。
命令:# chown 【-R】username:groupname 文档路径

7、sudo 指令

有些指令是root特有的指令,比如说关机、重启等操作,假如说用户想执行这些操作,但是还不知道root的密码。

这就需要root用户进行授权,root可以先进行配置。指定什么指令哪些用户可以执行。

sudo配置文件:/etc/sudoers 这个文件默认是只读,任何用户不能对其进行修改。
进行配置的步骤:
(1)配置sudo文件使用 “visudo“,打开之后和vim相同,此时我们编辑的是.tmp文件, 保存之后会替换掉原来的sudoers文件。
(2)配置普通用户权限:大概切换到98行,会看到如下这样的字样:

翻译过来就是:允许root用户执行什么命令在什么地方

sudo指令规则:
用户名 允许操作的主机 =(以什么身份运行,all表示root) 允许执行的指令

注意:写sudo规则的时候不建议写直接形式的指令,而是写指令的完整路径
那么如何查找完整路径呢??
使用命令:#which 命令名称

那么最后就修改成这个样子:
在这里插入图片描述
wq保存,ALL代表root。

验证一下:
在这里插入图片描述
还是不对?为什么?原来还需要加一些东西,也就是这样:

查看一下家目录:
在这里插入图片描述第一次切换到miss.virgo的时候需要输入用户的密码,Linux默认在五分钟之内不需要密码(前提是不修改sudo规则的情况下保持五分钟)

查看root都给用户提供了执行什么命令的权限:sudo -l :
在这里插入图片描述

回到目录:Linux基础14篇

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux授权管理权限Linux系统中对用户和组进行权限管理的过程。通过授权管理,可以决定用户可以访问哪些文件和执行哪些操作。 在Linux中,权限管理主要涉及三个方面:用户管理、组管理和权限管理。 用户管理涉及到创建、删除和管理用户账户。每个用户都有一个唯一的用户名和密码,可以根据需要分配不同的权限给用户。这样,每个用户就可以根据其权限来访问和操作文件。 组管理是将用户分组的过程。通过将用户分组,可以更方便地管理用户的权限。可以将用户分配到不同的组中,然后为每个组设置相应的权限。这样,用户可以继承其所属组的权限权限管理是指确定用户对文件或目录的操作权限。在Linux中,每个文件或目录都有三种基本权限:读取权限、写入权限和执行权限。这些权限可以被分配给用户、用户组和其他用户。通过设置不同的权限,可以控制用户对文件的访问和操作。 需要注意的是,Linux系统中有一个特殊的用户——root用户。root用户是系统管理员,拥有最高权限。通过root用户,可以执行系统级别的操作。然而,root用户的权限应该谨慎使用,因为错误的操作可能导致系统的不稳定或安全性问题。 总结起来,Linux授权管理权限是通过用户管理、组管理和权限管理来确定用户对文件和操作的访问权限。这是Linux中非常重要和基础的知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值