Linux的的权限管理

基本权限 UGO

一.权限类型

Linux 文件的 ugo 权限把对文件的访问者划分为三个类别:文件的所有者、组和其他人。
文件的所有者(user也称owner)
文件的所有者一般是创建该文件的用户,对该文件具有完全的权限。在一台允许多个用户访问的 Linux 主机上,可以通过文件的所有者来区分一个文件属于某个用户。当然,一个用户也无权查看或更改其它用户的文件。
文件所属的组(group)
假如有几个用户合作开发同一个项目,如果每个用户只能查看和修改自己创建的文件就太不方便了,也就谈不上什么合作了。所以需要一个机制允许一个用户查看和修改其它用户的文件,此时就用到组的概念的。我们可以创建一个组,然后把需要合作的用户都添加都这个组中。在设置文件的访问权限时,允许这个组中的用户对该文件进行读取和修改。
其他人(other)
如果我想把一个文件共享给系统中的所有用户该怎么办?通过组的方式显然是不合适的,因为需要把系统中的所有用户都添加到一个组中。并且系统中添加了新用户该怎么办,每添加一个新用户就把他添加到这个组中吗?这个问题可以通过其他人的概念解决。在设置文件的访问权限时,允许其他人户对该文件进行读取和修改。

二.权限类型

文件的 ugo 权限信息
第一组信息一个 10 个字符,除去第一个表示文件类型的字符,其它 9 个字符表示文件的 ugo 权限信息:
这 9 个字符以三个为一组,都是 rwx 或 - 的组合。其中,r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 这三个权限的位置不会改变,如果没有对应的权限,就会以 -(减号)代替。
在这里插入图片描述
图中意思分别为
— :文件类型
rw-:属主的权限
r–:属组的权限
r–:其他用户的权限
.:权限的扩展
1:文件链接
root:root的属主
lat:lat的属组
0:文件的大小
7月 27 17:51 :最后修改的时间为7月27号17:51
a.txt:文件名

其中 r w x(图中文件未赋予)
r (read):可以读取文件的实际内容,比如读取文本文件内的文字等。
w (write):可以编辑、增加、删除文件的内容(但不含删除该文件)。
x (execute):该文件具有可以被系统执行的权限。

三.设置权限

1.使用符号更改权限
>使用符号:u用户 g组 o其他 r读 w写 x执行
语法: chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x) 文件/目录

移动到tmp路径下
新建一个145.txt的文件
查看当前文件权限
发现现在文件只有属主有读写的权限,没有执行权限
属组只有读的权力
其他人只有读的权力

在这里插入图片描述

使用vim打开文件
在这里插入图片描述
编写运行程序
在这里插入图片描述
添加以上执行程序
chmod u+x 145.txt
在这里插入图片描述

运行执行程序
在这里插入图片描述
去掉执行程序发现程序无法执行
在这里插入图片描述

2.使用数字更改权限
读:r=4
写:w=2
执行: x=1

在这里插入图片描述

可以看到上图只赋予他属主拥有读写执行的权力
属组与其他人不给予权力
其他用户连打开的权限都没有

3.更改属主,属组
chown 用户名.组名 文件

新建一个1.txt’的文件查看他的属主与属组
在这里插入图片描述
属主与属组为root
chown userone.jishuzhu 1.txt
将1.txt属主修改为userone
将1.txt属组修改为jishuzhu
在这里插入图片描述
chown userone 1.txt 只修改1.txt的属主不修改属组
chown .jishuzhu 1.txt 只修改1.txt的属组不修改属主

4.chgrp命令

新建一个文件夹,下属有三个文件
查看他们的信息
在这里插入图片描述
通过chgrp - R 组名 文件修改
在这里插入图片描述

案例
诉求
文件10.txt
属主是user400,读写执行-7(可以看内容,可以改内容,可以执行)
属组是jishuzu(user500),读取 -4(只能看,不能改,不能执行)
其他人(user600) 没有权限-0(既不能看,又不能改和执行)

首先建立文件10.txt
建立用户user400,user500,user600
建立属组jishuzu
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到user400读写运行正常操作
user500只能读
user600没有权限阅读

基本权限ACL

ACL文件权限管理: 设置不同用户,不同的基本权限(r、w、x)。对象数量不同。
UGO设置基本权限: 只能一个用户,一个组和其他人

新建一个文件3.txt
查看权限
在这里插入图片描述
可以看到现在权限只有root主,与root属组才能更改文件
使用setfacl -m u:user400:rw /tmp/3.txt
在这里插入图片描述
赋值成功,登录user400,看能否输入内容
在这里插入图片描述
可以看到可以成功书写
切换其他任意为赋权用户
在这里插入图片描述
读正常,因为这是他本身赋有的权利
在这里插入图片描述
写失败,说明并未赋值到其他用户上

案例
诉求
新建一个文件夹test.txt
查看权限
新建用户user1使他具有读写的权限
新建用户user2使他加入黑名单,及没有任何权限
新建用户user3
查看权限并验证
新建 hr组 组员具备只读的权力(user3)
移除组的权力
移除所有权力

在这里插入图片描述
在这里插入图片描述

由上可以看出user1具有读写权力
user2无法打开文件

新建hr组,加入组员user3
切换组员发现有权限在这里插入图片描述
删除组权
删除所有特殊权限
在这里插入图片描述

特殊权限(仅作了解)

1 A:即Atime,告诉系统不要修改对这个文件的最后访问时间。
2 S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
3 a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
4 b:不更新文件或目录的最后存取时间。
5 c:将文件或目录压缩后存放。
6 d:当dump程序执行时,该文件或目录不会被dump备份。
7 D:检查压缩文件中的错误。
8 i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
9 s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。
10 u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。
11 t:文件系统支持尾部合并(tail-merging)。
12 X:可以直接访问压缩文件的内容。

1. 文件属性

新建用户file100
查看默认权限
在这里插入图片描述

加上不能删除的属性
查看变化
尝试删除
在这里插入图片描述
使用chattr -i /home/file100指令去除特权后可以正常删除

2.特殊位suid

查看以下操作
可以发现root用户建立一个在root目录下的文件其他用户无法访问在这里插入图片描述

为解决这个方法,我们在指令下添加权限,使任何用户都能用此命令达到超管的效果·
查看cat指令路径
为cat指令添加suid权限
在这里插入图片描述
查看二者区别
发现属主的执行程序被s掩盖了,并没有消失
当前cat指令就成为了suid的特权指令
在这里插入图片描述
可以看到普通用户user1能看到超管目录下的文件
当然此操作完成后请去除cat的suid
并查看是否去除
在这里插入图片描述

3.进程掩码umask

umask概述:登录系统之后在当前登录shel进程l中,创建一个文件总是有一个默认权限的,默认权限的由来就是umask所做的,umask设置了用户创建文件的默认权限
在这里插入图片描述

新建文件夹与文件
文件夹默认755(文件夹+022=777)
文件默认644 (文件为文件夹-111)在这里插入图片描述
修改umask掩码
新建文件与文件夹
掩码信息变更
权限也相应变更
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值