六.Linux系统中的权限管理

1.权限查看及读取

权限查看

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

权限的读取

文件的属性被叫做文件的元数据(meta data)
一种元数据用1个byte来记录内容

文件权限信息
| - | -rw-r–r-- | . | 1 | root | root | 0 | Oct 19 17:32 | bufile |
| [1] | [2] | [3] | [4] | [5] | [6] |[7] | [8] | [9] |
目录权限信息
| d | rwxr-xr-x | . | 2 | root | root | 6 | Oct 19 17:33 | budir/ |
| [1] | [2] | [3] | [4] | [5] | [6] |[7] | [8] | [9] |
在这里插入图片描述

对于每一位的解释
[1] #文件类型
#- 普通文件
#d 目录
#l 软连接 (类似于Windows的快捷方式)
#b 快设备 (存储设备,U盘)
#c 字符设备
#s socket套接字
#p 管道
[2] #用户权限
rw- | r-- | r–
u(用户)| g(组)| o(其他人)
[3]系统的selinux开启
[4]#对于文件:文件内容被系统记录的次数(硬链接个数)
#对于目录:目录中子目录的个数
[5]#文件拥有者
[6]#文件拥有组
[7]#对于文件:文件内存大小
对于目录:目录中子文件的元数据(属性)大小
[8]文件内容被修改时间
[9]文件名称

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

用户对文件的身份

u: #user 文件的拥有者,ls -l 看到的第五列信息
g: #group 文件拥有组, ls -l 看到的第六列信息
o:#other 既不是拥有者也不是拥有组成员的其他用户的通称

权限位

rwx | r-- | r–
u | g | o

用户身份匹配

user>group>other

权限类型

“-” #权限未开启
r
#可读
#对于文件:可以读取文件内容
#对于目录:可以ls列出目录中的文件
w
#可写
#对于文件:可以更改文件内容、
#对于目录:可以在目录中新建或者删除文件
x
#可执行
#对于文件:可以用文件名称调用文件内记录的程序
#对于目录:可以进入目录中

3.设定普通权限的方法

watch -n 1 “ls -Rl /mnt/”
#监控/mnt/目录

chmod # 设定文件权限
#chmod 复制权限
chmod --reference=/tmp /mnt/bufile
#复制/tmp目录的权限到 /mnt/bufile上
chmod -R --reference=/tmp /mnt/bufile
#复制/tmp目录的权限到/mnt/bufile及目录的子文件上
#-R代表递归操作
#chmod 字符方式设定权限
chmod <a|u|g|o><+|-|=><r|w|x> file
#用字符方式设定文件权限
在这里插入图片描述

数字方式设定权限

权限波尔值表示方式
rwx=111
—=000

三位二进制可以表示的最大范围为8进制数
在这里插入图片描述
在这里插入图片描述

chomd 600 /mnt/file
rw-------

4.系统默认权限设定

系统本身存在的意义共享资源
从安全的角度讲系统共享的资源越少,开放的权利越小系统的安全性越高
既要保证系统安全,又要系统创造价值,于是把应该开放的权利默认开放
把不安全的权利默认保留

#如何保留权利
umask表示系统保留权利
umask #查看保留权利
umask 权限值 #临时设定系统预留权利
#umask临时更改 umask 077

文件默认权限=777-umask-111
目录默认权限=777-umask

umask值越大系统安全性越高

#永久更改
vim /etc/bashrc #shell系统配置文件
在这里插入图片描述

vim /etc/profile #系统环境配置文件
在这里插入图片描述
更改超级用户的umask

source /etc/bashrc #source作用时使我们更改的内容立即被系统识别
source /etc/profile

5.文件用户用户组管理

chown username file #更改用户拥有者
chgrp groupname file #更改文件拥有组
chown username:groupname file
#同时更改文件的拥有者和拥有组( : 可以为 .)
chown|chgrp -R user|group dir
#更改目录本身及目录中内容的拥有者或拥有组
在这里插入图片描述

6.特殊权限

stickyid 粘制位
针对目录:#如果一个目录stickyid开启,那么这个目录中的文件只能被文件所有人删除

chmod 1原始权限 dir
chmod o+t dir
#可以删除用户属于自己的文件,但不能删除其他用户的文件

实验:
在这里插入图片描述
#sgid 强制位
#针对目录:目录中新建的文件自动归属到目录的所属组中
设定:
chmod 2原文件权限 dir
chmod g+s dir
实验:
在这里插入图片描述

#只针对二进制的可执行文件(c程序)
#当运行二进制可执行文件时都是用文件拥有身份运行,和执行用户无关

在这里插入图片描述

suid 冒险位
#只针对二进制的可执行文件(c程序)
#当运行二进制可执行文件时都是用文件拥有身份运行,和执行用户无关

chmod 4原属性 file
chmod u+s file
在这里插入图片描述

7.acl权限列表

Aiccess Control Lists #访问控制列表
#功能:在列表中可以设定特殊用户对于特殊文件有特殊权限
#acl列表开启标识:
权限位后面有“+”号
#acl列表权限读取
getfacl file
显示内容分析

设定用户权限:
在这里插入图片描述

设定组权限与删除权限:
在这里插入图片描述
关闭权限
在这里插入图片描述
#acl权限优先级
拥有者>特殊指定用户>权限多的组>权限少的组>其他

#acl mask 控制
#mask是能够赋予指定用户权限的最大阈值

问题:
当设定完毕文件的acl列表用chmod缩小了文件拥有组的权利,
mask会发生变化

恢复:
setfacl -m m:权限 文件

#设置完setfacl后不能用chmod更改权限,只能用setfacl

#acl列表的默认权限
setfacl -m u:buwei:rwx /mnt/budir #只对于/mnt/budir目录本身生效
setfacl -Rm u:buwei:rwx /mnt/budir #对于/mnt/budir目录和目录中已经存在的内容生效

#以上的命令只针对与存在的文件生效,新建的文件不会被设定的
在这里插入图片描述

setfacl -m d:u:buwei:rwx /mnt/budir/
#针对与 /mnt/budir目录中新建文件生效
在这里插入图片描述

8.attr权限

#attr权限限制所有用户(包括超级用户)
i #不能作任何的更改
a #能添加不能删除
lsattr dir|file #查看attr权限
chattr +i | +a | -i |-a dir | file #设定attr权限
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值