linux中的权限管理

1. 权限的查看及读取

1.1 权限的查看

ls -l file ##查看文件权限
ls -ld dir ##查看目录权限

在这里插入图片描述

1.2 权限的读取
文件的属性又被称为文件的元数据组
一种元数据用1个byte来记录内容
文件权限信息:

在这里插入图片描述

【1】:文件的类型

符号文件类型
-普通文件
d目录
l软链接
b块设备
c字符设备
ssocket套接字
p管道

【2】:用户权限
【3】:安全上下文
【4】:对象是文件时,代表文件被系统记录的次数(硬链接);对象是目录时,代表目录中子目录的个数
在这里插入图片描述
【5】:文件的拥有者
【6】:文件的拥有组
【7】:对象是文件时表示文件内容的大小,对象是目录代表目录中子文件的元数据大小
【8】:文件内容最后一次被修改的时间
【9】:文件名称

2. 普通权限的类型及作用

(1) 用户对文件的身份

u  ## user 文件的拥有者
g  ##group文件的拥有组
o  ##other 除了文件拥有者和拥有组成员的其他用户的统称

(2) 权限位

  • 文件的权限位:

u(文件拥有者权限),g(文件拥有者权限),o(其他用户权限)

在这里插入图片描述
(3) 用户身份匹配

user > group > other

(4)权限类型

  • 可读:“ r ”

对于文件:表示可以读取文件的内容
对于目录:可以使用 “ ls ” 查看目录中的文件

  • 可写:“ w ”

对于文件:表示可以编辑文件的内容
对于目录:可以在目录中新建或者删除文件

  • 可执行:“ x ”

对于文件:可以用文件名调用文件内记录的程序
对于目录:可以进入目录中

3. 文件用户及用户组管理

(1) 修改文件或目录的拥有者

在这里插入图片描述

(2) 修改文件或目录的拥有者和拥有组

在这里插入图片描述

(3) 修改文件或目录的拥有组

charp username file1  ## 修改文件的拥有组

在这里插入图片描述

chgrp username dir ##修改目录的拥有组

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

4. 设定普通权限的方法

设定文件权限:chmod

4.1 复制权限

chmod --reference=/mnt/file1 /mnt/file2 :复制文件/mnt/file1的权限到/mnt/file2中
chmod --reference=/mnt/dir1 /mnt/dir2 :复制文件/mnt/dir1的权限到/mnt/dir2上
chmod -R --reference=/mnt/dir1 /mnt/dir2 :复制文件/mnt/dir1的权限到/mnt/dir2及其子目录上,R表示递归操作

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

在这里插入图片描述

4.2 用字符的方式设置权限

chomd  <a|u|g|o><+|-|=><r|w|x>  file

文件及目录的初始权限:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

r)

在这里插入图片描述

4.3 数字方式设置权限

用数字方式设置权限时,常用bool值表示:1代表开放该权限,0代表关闭该权限
rwx = 111 :开放文件或目录的读,写,执行权限
— = 000:关闭文件或目录的读,写,执行权限
用三位二进制可以表示的八进制范围:0~7

符号二进制八进制文件权限
rwx1117可读,可写,可执行
rw-1106可读,可写,不可操作
r-x1015可读,不可写,可操作
r- -1004可读,可写,不可操作
-wx0113不可读,可写,可操作
-w-0102不可读,可写,不可操作
–x0011不可读,不可写,可操作
- - -0000不可写,不可读,不可操作

用数字修改文件或目录权限的例子如下:

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

5. 系统默认权限设定

系统存在的意义是共享资源,从安全的角度讲系统共享的资源越少、开放的权力越小系统的安全性越高。因此在保证系统安全和系统创造价值的基础上,把部分的权利默认开放,把不安全的权力默认保存

5.1 系统保留权利:umask

umask值越大系统安全性越高
文件默认权限 = 777 - umask -111=644
目录默认权限 = 777-umask=755

5.2 临时更改umask

umask权限值临时更改:可以在shell中临时设定系统保留权利,一旦shell关闭后权限值恢复默认值

5.3 永久更改umask

shell系统配置文件:vim /etc/bashrc

在这里插入图片描述

系统环境配置文件:vim /etc/profile
在这里插入图片描述

配置文件更改后必须要重新读取配置文件,否则umask的值不能更新成功:

source  /etc/bashrc
source  /etc/profile

在这里插入图片描述

6. 特殊权限

6.1 stickyid 粘制位

对所有人开放pub目录的全部权限,那么该目录下的子文件能被所有用户删除

在这里插入图片描述
针对目录:如果一个目录stickyid开启,那么这个目录中的文件只能被文件所有人删除

开启stickyid的两种方法:
chmod 1原始权限 dir
chmod o+t dir

在这里插入图片描述

6.2 sgid

  • 针对目录,目录中新建的文件自动归属到目录的所有组中
chmod 2原始权限 dir
chmod g+s    dir

在目录中创建文件,一般情况下谁建立的文件,文件组就属于谁
在这里插入图片描述

  • 针对目录,更改目录的gid后,目录中新建文件的文件组将会和目录的所属组保持一致
chmod 2原始权限 dir
chmod g+s    dir

在这里插入图片描述

  • 只针对二进制可执行文件,当运行二进制可执行文件时,程序将以文件拥有组身份执行,和执行用户无关

在这里插入图片描述

6.3 suid 冒险位

  • 只针对二进制的可执行文件(c程序)

当运行二进制可执行文件时都是以用户拥有者的身份执行,和执行用户无关

在这里插入图片描述

7. acl权限列表

传统的权限仅有三种身份(user,group,other),若要对某一个user或group设置特定的权限要求,可以使用acl(文件访问控制列表)列表机制来实现

7.1 acl列表开启的标识

在这里插入图片描述
acl列表开启后,通过ls查看到的文件的权限并不是文件的真实权限,需要用getfacl file 查看文件的真实权限

7.2 acl列表的控制

命令功能
setfacl -m u:用户名:权限 file在acl列表中指定特定用户的权限
setfacl -m g:用户名:权限 file在acl列表中指定特定用户组权限
setfacl -m g::0 权限 file
setfacl -m x:u:用户名 file删除acl列表中的用户
setfacl -b file关闭acl列表
setfacl file读取文件的权限

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

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

在这里插入图片描述

7.3 acl mask控制

  • mask阀值是指用户能够获取的最大权限,若设定过facl值之后用chmod缩小文件的阀值可能会损坏mask

在这里插入图片描述

  • mask值的恢复:setfacl -m m:权限 file

在这里插入图片描述

7.4 acl权限优先级

  • 拥有者>特定指定用户>权限多的组>权限少的组>其他

在这里插入图片描述
以下两个例子可以证明在在acl中,权限多的组的优先级高于权限少的组的优先级

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

7.5 acl列表的默认权限

  • 只对于目录/pub/dir1生效

在这里插入图片描述

  • 对于目录/pub/dir1及该目录中已存在的子文件生效

在这里插入图片描述

在这里插入图片描述

  • 只对/pub/dir1中新建的文件生效

在这里插入图片描述

8. attr权限

8.1 查看attr权限

 查看权限的命令:  `lsattr dir|file`

在这里插入图片描述

8.2 设置attr权限

  • attr权限对所有的用户都有限制
  • 设置attr权限常用的两个参数
chattr +i dir ##不能新建或删除子文件
chattr +a dir ##能新建文件,不能删除子文件
chattr +i file ##无法对文件进行修改和删除
chattr +a file  ##无法对文件进行修改和删除

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

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值