Linux中的权限管理


前言

在系统中,权限是一个非常严肃且重要的问题,它对系统的安全性,对用户的使用都有着十分重大的意义,因此想要学好Linux,我们必须熟练的掌握这部分知识,让我们一起来学习一下今天的内容吧。

一、权限信息的查看及介绍

1、查看文件及目录权限信息的方法

ls -l 文件名:查看文件权限信息
ls -ld 目录名:查看目录权限信息
如下图所示:
在这里插入图片描述

2、文件及目录权限信息

权限信息基本构成如下,每两个分隔符之间是一位,共有九位:
-| rw-r- -r- - | . | 1 | root | root | 0 | Apr 12 10:57 | westos
每一位代表的信息如下表:

【1】文件类型
【2】用户权限
【3】系统的 selinux 开启
【4】对于文件:文件内容被系统记录的次数(硬链接个数)对于目录:目录中子目录的个数
【5】文件拥有者
【6】文件拥有组
【7】对于文件:文件内容大小 对于目录:目录中子文件的元数据大小("文件的属性被叫做文件的元数据)
【8】文件最后被修改的时间
【9】文件名

其中关于第一位文件类型有如下总结:

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

如下图标注部分所示:在这里插入图片描述

二、普通权限的类型及作用

1、用户对文件的身份

u:user文件的拥有者
g:group文件拥有组
o:other既不是拥有者也不是拥有组成员的其他用户的通称

2、权限位

rwx|r- -|r- -
分为三位,分别对应user权限、group权限、other权限

3、用户身份匹配

user>group>other

4、权限类型

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

三、设定普通权限的方法

chmod设定文件权限
chmod --reference=目录1 目录2复制目录1的权限到目录2上
chmod -R --reference=目录1 目录2复制目录1的权限到目录2及目录2的子文件上;-R表示递归操作
chmod <a/u/g/o><+/-/=><r/w/x> file用字符方式设定文件权限
chmod+布尔值+文件通过数字方式设定权限
rwx表示7(r表示4,w表示2,x表示1)
rw-表示6
r-x表示5
r- -表示4
-wx表示3
-w-表示2
- -x表示1
例:777表示rwxrwxrwx,500表示r-x------

具体操作如下图所示,左图表示对目录及文件进行实时监控:
在这里插入图片描述
在这里插入图片描述

四、系统默认权限设定

系统本身存在的意义,从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高。在现实中,既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放,把不安全的权力默认保留。
系统保留权力及修改方式如下表:

umask查看系统保留权力
umask 权限值临时设定系统保留权力
永久设定vim /etc/bashrc(该文件是shell的系统配置文件)vim /etc/profile(系统环境配置文件) 编辑这两个文件中umask的值可以 实现永久设定umask值
source /etc/bashrc;source /etc/profile完成上述文件编辑后执行这两个命令可以使我们更改的内容立即被系统识别、

如下图所示:
在这里插入图片描述
在这里插入图片描述

五、文件用户及用户组管理

chown username file更改用户拥有者
chgrp groupname file更改用户拥有组
chown username:groupname file(中间冒号可用.代替)同时更改文件拥有者和文件拥有组
chownchgrp -R user

如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、特殊权限

粘滞位(stickyid)针对目录: 如果一个目录 stickyid 开启,那么这个目录中的文件只能被文件所有人删除
设定方法:chmod 原始权限 dir ;chmod o+t dir
强制位(sgid)针对目录: 目录中新建的文件自动归属到目录的所属组中
设定方法:chmod 源文件权限 dir;chmod g+s dir
冒险位(suid)只针对二进制的可执行文件(c 程序),当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关
设定方法:chmod 原属性 file;chmod u+s file

如下图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、acl权限列表

全称:Aiccess Control Lists(访问控制列表)
作用:在列表中可以设定特殊用户对特殊文件的特殊权限
acl列表开启标识:在用户权限位末尾有+号
acl 列表权限读取:getfacl filename or dirname
显示内容分析如下:

# file:文件名称
# owner:文件拥有者
# group:文件拥有组
user::rw-问件拥有者权限
user:lee:权限特殊指定用户权限
group::权限文件拥有组权限
group:westos:权限特殊指定的用户组的权限
mask::权限能够赋予特殊用户和特殊用户组的最大权限阀值
other::权限其他人的权限

acl列表设定方法:

setfacl -m u:username:rw filename设定指定用户对指定文件的特殊权限
setfacl -m g:groupname:rw filename设定指定文件拥有组对指定文件的特殊权限
setfacl -x u:username filename删除指定文件的特殊用户
setfacl -b filename关闭指定用户的acl列表
acl 权限优先级拥有者 > 特殊指定用户 > 权限多的组 >权限少的组 > 其他
acl mask 控制mask 是能够赋予指定用户权限的最大阀值
存在的问题:当设定完毕文件的 acl 列表之后用 chmod 缩小了文件拥有组的权力。mask 值会跟着发生变化
恢复方法:setfacl -m m:权限 文件

acl列表的默认权限:

setfacl -m u:username:rwx dirname只对于dirname(目录)本身生效
setfacl -Rm u:username:rwx dirname对于dirname(目录)和目录中已经存在的内容生效
setfacl -m d:u:username:rwx dirname只针对与dirname(目录)中新建的文件生效

注意:当文件权限列表开启,不要用 ls -l 的方式来读取文件的权限
如下图所示:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、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、付费专栏及课程。

余额充值