什么叫权限管理

权限的基本概述 什么是权限? 权限就是系统对用户所能执行的功能的限制 为什么有权限? 为了保护每个用户的自己的工作环境及隐私 权限跟用户有什么关系 属主 User u 属组 Group g 其他人 others o 所有 ALL a 对应了三个基础权限 r 可读 readable 4 w 可写 writable 2 x 可执行 executable 1 s 特殊权限

权限的基本概述
什么是权限?
权限就是系统对用户所能执行的功能的限制

为什么有权限?
为了保护每个用户的自己的工作环境及隐私

权限跟用户有什么关系
属主 User u
属组 Group g
其他人 others o
所有 ALL a

对应了三个基础权限
r 可读 readable 4
w 可写 writable 2
x 可执行 executable 1
s 特殊权限 4 (下文会有描述)
– 没有权限 权限位占位符 0
– rw- r-- r-- 644
文件的类型 属主 属组 其他人员

文件权限每三个为一组
第一个对应 可读 r
第二个对应 可写 w
第三个对应 可执行 x
没有此权限则用-代替

如何设置权限 ,设置某个用户对于系统的某个资源拥有什么样管理权力
chmod #设置权限的命令
选项:
-R #针对目录设置权限 赋予目录及目录以下所有文件的权限

只有root管理员才可以修改任何人的权限 普通用户只能修改自己的权限

判断一个用户对一个文件拥有什么权限

  1. 系统会判断该用户是否为所有者,如果是,则按照属主的权限进行访问
  2. 如果不是所有者,则判断该用户是否为所属组,如果是,则按照所属组的权限进行访问
  3. 如果此用户不是所有者,也不是所属组,则按照匿名用户进行访问

修改权限的两种方法:
按照数字的形式进行修改如:chmod 644 文件名
按照属主、属组、其他用户形式:
属主:chmod u+r 文件名 #给文件的属主加上可读权限
属组:chmod g+r 文件名 #给文件的属组加上可读权限
其他用户:chmod o+r 文件名 # 给其他用户加上可读权限

权限对文件or目录的意义

1、要想查看文件夹下的文件,文件夹必须至少拥有可执行权限;同时文件必须拥有可读权限.文件夹至少是 1,文件也至少是 4注意:此时可以查看文件内容,但无法查看其沿途文件夹的内容,因为文件夹没有可读权限

2、要想编辑目录下的文件,文件目录必须拥有可执行权限,同时必须拥有可读权限可写权限文件夹至少是1,文件至少是6,注意:此时可以查看、编辑文件内容,但无法查看其沿途文件夹的内容,因为文件夹没有可读权限

3、要想目录下的文件可以执行,目录及文件都必须有可执行的权限,如果⽂件是解释型语⾔的脚本程序,还需要对⽂件有r权限,文件夹和文件至少是 1

权限之特殊权限 s

当 s 出现在文件拥有者的 x 权限上时,就被称为 SETUID BITS 或 SETUID
目的:让本来没有权限的用户,运行这个程序时,可以访问他没有权限访问的资源
临时提权(SUID)生效的三个前提条件:
作用对象必须是二进制文件
该文件必须拥有可执行权限
本权限只在程序执行过程中有效

当 s 标志出现在用户组的 x 权限时称为 SGID,SGID 的特点与 SUID 相同
除二进制程序外,SGID 也可以用在目录上。当一个目录设置了 SGID 权限后,
用户若对此目录具有 r 和 x 权限,该用户能够进入该目录
用户在此目录下的有效用户组将变成该目录的用户组
若用户在此目录下拥有 w 权限,则用户所创建的新文件的用户组与该目录的用户组相同
总结一下,当 SGID 作用于普通文件时,和 SUID 类似,在执行该文件时,用户将获得该文件所属组的权限。当 SGID 作用于目录时,意义就非常重大了。当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用 SGID 修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。

SBIT
SBIT 是 the restricted deletion flag or sticky bit 的简称,有时也称为Sticky。 SBIT ⽬前只对⽬录有效,⽤来阻⽌⾮⽂件的所有者删除⽂件。⽐较常⻅的例⼦就是 /tmp ⽬录:
[root@localhost ~]# ls -dl /tmp/
drwxrwxrwt. 13 root root 4096 8⽉ 11 17:09 /tmp/ [root@localhost ~]# chmod o+t /test/ # 或者chmod 1755 /test 123
权限信息中最后⼀位 t 表明该⽬录被设置了 SBIT 权限。SBIT 对⽬录的作⽤是:当⽤户在该⽬录下创建新⽂件或⽬录时,仅有⾃⼰和 root 才有权⼒删除,主要作⽤于⼀个共享的⽂件夹。

umask:控制文件的默认权限

Linux中文件默认权限为666,目录默认权限为777
在这里插入图片描述
临时设置umask
umask 000 #设置umask权限

永久设置umask
vim /etc/profile #或者/etc/bashrc内容一样
if [$UID -gt 199 ] && ["id -gn" = “id -un”];then
umask 002 //表示uid大于等于199的默认umask值,表示普通用户
else
umask 022 //表示uid小于199的默认值umask值,表示root

ACL权限(高级权限)

添加acl权限,ACL可以针对单一用户、单一文件或目录来进行rwx的权限控制,对于需要特殊权限的使用情况有一定帮助,⽂件⼀旦设置了acl权限后,查看信息会出现⼀个加号,以后包括UGO在内的权限都可以⽤setfacl来设置
ps:UGO中的O即其他⼈,涵盖了⾮常⼤的范围,我们使⽤setfacl可以将⽤户对⽂件的权限进⾏进⼀
步细化

ACL权限命令及参数:

  • setfacl : 设置acl权限
  • getfacl :查看ACL权限

注:默认情况下,ACL权限跟普通权限保持一致。

#设置用户权限
setfacl -m u:用户名:权限类型 文件名
#设置用户组权限
setfacl -m g:用户名:权限类型 文件名
#设置其他用户权限
setfacl -m o:用户名:权限类型 文件名

删除acl权限:
setfacl -x u:用户名 文件名 #删除单个用户的权限
setfacl -x g:组名 文件名 #删除单个组的权限

setfacl -b 文件名 #删除此文件所有的ACL权限

mask设置文件的最高权限
设置完mask后,除了所有者和other不受影响,其他都会受到mask的影响,mask决定了他们的最⾼权限)mask值就像⼀个筛⼦,⽂件属主和other之外的所有权限都需要被它筛⼀遍,如果mask值为rw-则代表该筛⼦只放⾏rw权限。本质原理是权限A需要与mask值B进⾏按位与运算,得到的结果才是effective有效权限
格式:setfacl -m m:rw 文件路径
在这里插入图片描述

ACL继承

默认情况下,ACL是不会继承上层目录的权限,只有目录设置了子集文件可继承权限,才会继承
格式:setfacl -m d:u:用户名:r /目录名

文件属性(权限)<扩展内容>

[root@localhost ~]# chattr +a /opt/1.txt # 允许追加内容
[root@localhost ~]# chattr +i /opt/2.txt # 禁⽌任何修改,有些病毒程序会对⽂件加上该权限
[root@localhost ~]# chattr +A /opt/3.txt # 不更改⽂件访问时间
[root@localhost ~]# lsattr /opt/ #查看文件的属性
知秋君
上一篇 2024-09-09 22:12
下一篇 2024-09-09 21:48

相关推荐