Linux下文件的权限设定(2)

一.对文件权限的理解
1.文件权 限 的理解
以file1文件信息为列: rw- r-- r-- 三个字符为一组
rw- 文件拥有者user对文件的权限
r-- 文件所属组(group)对文件权限
r-- 其他人(other)对文件的权限
权限类型分类 r可读 w可写 x 可执行 - 权限封闭
如下图:
用户westos的uid与文件fille1的uid匹配所以属于前三位权限 ——所有人对文件权限(rw-)
用户root的所有组名称root与文件file1组的身份匹配所以属于中间三位权限 ——所有组对文件权限(r- -)
用户lee的所有组以及所有人都不属于文件file1,与文件所有的身份都不匹配所以属于后三位权限 ——其他人对文件权限(r - -)

在这里插入图片描述
对于文件权限的深入理解
进入/mnt创建相关实验所需文件并切换到用户westos

在这里插入图片描述
更改读,写,执行权限,查看用户westos下对于文件(file1)的权限影响
更改读的权限 r
vim 进入file1写入内容123并查看文件内容
再次向文件内容写入123456
当把r珊除掉 westos用户则无法读取文件内容
恢复r权限后则可查看
在这里插入图片描述
在这里插入图片描述
更改文件file1写的权限w
文件内容更改为123并查看
当把w珊除掉再次写入456
此时 westos用户则无法在文件写入内容,权限被拒
在这里插入图片描述
更改文件file1执行权力x
向文件写入date命令并调用
当把x珊除掉 westos用户则无法调取文件内的命令程序
在这里插入图片描述
对目录权限的深入理解
目录执行权力的理解 x
删除x即无法进入目录(/mnt/linux)
在这里插入图片描述
目录写的权力的理解 w
写的权限基于执行权限之上 进不去则无法写入内容
对于目录而言删除写的权限w即无法创建删除文件
在这里插入图片描述
读取内容权限的理解r
删除r对目录而言无法产看目录内的详细内容
在这里插入图片描述
二.文件权限设定的方式
1.字符 方 式 设 定 权 限
chmod <u|g|o|a><+|-|=><r|w|x|> 目标
+:添加

在这里插入图片描述
-: 撤销
在这里插入图片描述
=:设定
在这里插入图片描述
同时设定文件所有人所有组其他人的权限
在这里插入图片描述
也可用(-r,-x,同时取消或添加权限也可以添加参数a, 只有w权限设定时必须加a才可统一设定)
在这里插入图片描述

数字方式管理权限
权限可以用一个八进制数字来表示
权限    二进制     八进制
---     000       0
--x     001       1
-w-     010       2
-wx     011       3
r--     100       4
r-x     101       5
rw-     110       6
rwx     111       7
权限管理方法:
chmod 数字 文件|目录

r=4 w=2 x=1
采取数字管理权限(快捷)如下:
在这里插入图片描述
权限复制
复制权限方式 chmod --reference=属性源文件 TAG
如下:把file1文件的权限复制到file2

在这里插入图片描述
复制
在这里插入图片描述
三.系统预留权限阀值
对权限预留阀值的理解:
资源存在意义在于共享,权限开放越大,共享效果越明显,但是安全性越差;
对于系统安全而言,开放权利越小,系统越安全;
在系统中开放应开放的权利,保留不安全的权县以确保系统功能性及安全性;
(开放的权限开放,不开放的权限关闭)
查看系统权限阀值 umask
满权限:777
在这里插入图片描述

2权限 预 留 阀 值 设 定
umask 参数
临时设定:系统中使用umask来设定预留权限 •umask 预留阀值
永久改变权限阀值:shell配置文件/etc/bashrc 系统环境配置文件/etc/profile
在shell中可以使用umask来查看并设定预留权限阀值
预留权限值越大文件越安全,但功能越少
当前权限预留阀值为:022
建立目录的预留阀值:
777-022=755
建立文件的预留阀值:
文件权限预留阀值与umask有一定关系,linux中文件系统会自动去掉111
777-022=755-111=644
在这里插入图片描述

更改权限预留阀值
在shell中设定权限预留阀值为:075
即:创建目录的权限阀值为702
创建文件的权限阀值为602
临时设定权限预留阀值只在当前shell中保留关闭或打开新的shell则会恢复原值
在这里插入图片描述
在这里插入图片描述

永久设定权限预留阀值
进入/etc/bashrc /etc/profile 设定统一值075
在这里插入图片描述
if语句下的是普通用户的权限预留阀值设定参数
else下是超级用户的权限预留阀值设定参数
在这里插入图片描述
当设定完成后查看权限预留阀值未改变
此时需关闭当前shell重新打开即可或使用source调用
在这里插入图片描述

四.特殊权限
对特殊权限的理解
SUID 只针对于二进制可执行文件 , 使用拥有SUID权限的文件发起记录的程序时以文件拥有者的身份去执行
SGID 针对二进制可执行文件 : 该命令发起的程序是以该命令所有组的身份去执行
针对目录 : 目录新建文件的所属组与该目录的所有组保持一致
STICKYID 对于文件:表示文件即使没有被程序调用也会被加载到交换空间中,
对于目录:表示当目录上有 STICKYID 的权限时 , 所有用户在该目录下均可创建文件 , 但只有文件拥有者和 root 用户可以删除该目录下的文件
1.对于STICKYID的理解如下:

  创建实验环境实时监控:[root@workstation Desktop]# watch -n 1 'ls -ld /mnt/linux;ls -l /mnt/linux/'
                  设置/mnt/linux的目录权限为全部开放
                  切换到westos用户可在/mnt/linux/创建文件
                 切换到lee用户可在/mnt/linux/创建文件或删除其他用户文件

在这里插入图片描述
在这里插入图片描述
设置当前创建的文件只能由创建用户自己删除,其他用户不可删除
在这里插入图片描述

2.对SUID 和SGID 深入理解
SUID只针对于二进制可执行文件 , 使用拥有SUID权限的文件发起记录的程序时以文件拥有者的身份去执行
SGID针对二进制可执行文件 : 该命令发起的程序是以该命令所有组的身份去执行

首先设置实时查看系统中的某一进程 [root@workstation Desktop]# watch -n 1 'ps ax -o user,group,comm | grep cat' 
user:所有人  group:所有组  comm:进程名称   grep cat : 单独查看cat进程

/bin/cat命令属于超级用户组和超级用户所有人
在这里插入图片描述
默认情况下某一用户执行该命令则产生的进程显示所有人所有组都属于该用户
在这里插入图片描述
当设定成suid与sgid权限时则不管那一用户执行该命令其所有人和所有组都属于超级用户root
在这里插入图片描述
在这里插入图片描述
当被执行命令拥有suid权限时,则拥有超级用户部分权限,列如查看文件内容

3.SGID针对目录 : 目录新建文件的所有组与该目录的所有组保持一致

创建实验环境:[root@workstation mnt]# watch -n 1 ls -lR /mnt/

创建一个权限全部开放的目录,在创建文件file
切换到westos用户创建file1,更改目录权限再次创建文件file2及与目录所有组一致都为root
在这里插入图片描述

4.特殊权限的字符与数字设定方式

SUID    chmod u+s TAG
        chmod 4原文件属性 TAG
SGID    chmod g+sTAG
        chmod 2原文件属性 TAG
STICKYID chmod o+tTAG
         chmod 1原文件属性 TAG

创建实验环境:

[root@workstation mnt]# watch -n 1 ls -lR /mnt/
[root@workstation Desktop]# cd /mnt
[root@workstation mnt]# touch file
[root@workstation mnt]# touch file1

字符设定权限:
在这里插入图片描述
数字设定权限:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
五.ACL权限列表
传统的权限仅有三种身份 (owner,group,othe)搭配三种权限 (r,w,x), 并没有办法单纯的针对某一个使用者或某一个群组来设置特定的权限需求此时就得要使用 ACL( 文件访问控制列表 ,Access Control List) 这个机制
注意: 因此目前 ACL 几乎已经默认加入在所有常见的 Linux 文件系统的挂载参数中(ext2/ext3/ext4/xfs 等等 ), 但 rhel6.0以及之前的版本默不支持 acl 的功能

有关 facl的命令
查看权限列表  : getfacl
设定权限列表:
• setfacl
• -m 设定权限
• -x 删除指定用户
• -b 关闭列表功能

设置某一个文件指定某一个用户拥有某种权限的设置方法如下:
设置westos用户对文件拥有读写权限

[root@workstation mnt]# setfacl -m u:westos:rw /mnt/file
[root@workstation mnt]# getfacl /mnt/file
getfacl: Removing leading '/' from absolute path names
# file: mnt/file
# owner: root
# group: root
user::rw-
user:westos:rw-
group::r--
mask::rw-
other::r--

在这里插入图片描述

验证特定用户是否可以进行读写操作
此文件只对超级用户和westos用户可写
切换到普通用户westos 并写入123,查看
在这里插入图片描述
切换到普通用户lee进入文件无法编写内容并保存权限被拒
在这里插入图片描述
在这里插入图片描述

建立删除指定用户westos,lee
在这里插入图片描述
在这里插入图片描述
关闭权限列表
+消失
在这里插入图片描述
六.facl 列 表 权 限 匹 配 顺 序
资源拥有者
特殊指定用户
权利开放多的组
权利开放少的组
其他用户
1.理解:资源拥有者高于特殊指定用户
更改文件file的所有人和所有组为westos,指定文件的所有人也为westos且权限封闭,切换到westos 在文件file中可以正常写入内容
在这里插入图片描述

2.对于组成员而言:权利开放多的组高于权利开放少的组
如下特殊指定的组能够对文件进行编辑
当前文件file的组没有写的权限,指定lee用户组有读写执行的权力,切换到lee可以编辑文件内容

在这里插入图片描述
用户的组的权力大则属于那个用户组

在这里插入图片描述
可以编辑内容在这里插入图片描述
七.f a cl 的m a sk 阀 值

  [root@workstation mnt]# getfacl /mnt/file
getfacl: Removing leading '/' from absolute path names
# file: mnt/file
# owner: westos
# group: westos
user::rw-
group::r--
group:lee:rwx
mask::rwx  ~ mask阀值
other::r--

mask阀值是指定用户能够获取的最大有效权限
当设定过facl列表后用chmod缩减文件权限很可能会损坏mask
缩减文件权限mask值会损坏:如下
在这里插入图片描述
恢复mask值:mask的设定 setfacl –m m:权限值 TAG
在这里插入图片描述
八f a cl 的d ef a u l t 权 限
default权限特性
1只对目录设定
2只对目录中新出现的文件或目录生效
3对目录本身不生效
4对目录中原有文件不生效
在/mnt/创建目录linux及文件file
指定用户westos对目录linux拥有rwx权限,对目录里面文件没有权限
在这里插入图片描述
加入参数-R只是针对与目录中已有的文件递归设置权限,设定的权限对新建文件不生效
在这里插入图片描述
对新创建的文件file3设定权限,原已有的文件不对该设定生效:

[root@workstation mnt]# setfacl -m d:u:westos:rwx /mnt/linux/

在这里插入图片描述
对原亦有的文件file2不生效
在这里插入图片描述

知识点补充:
linux系统中的文件除了具备一般权限和特殊权限之外,还有一种隐藏权限,即被隐藏起来的权限,默认情况下不能直接被用户发现。
当某个用户在权限满足的情况下但是却无法删除某一文件或这只能在文件内容后面追加内容而不能覆盖/修改/删除内容。此时文件则被设置了隐藏权限
chattr命令:用于设置文件的隐藏权限,格式为:“chattr 参数 文件”
给文件添加隐藏权限则在命令后“+参数”反之删除“-参数”
以参数“a"为列:
创建文件file 并删除,成功执行
在这里插入图片描述
设置隐藏权限a则不能删除和覆盖该文件
在这里插入图片描述
lsattr:用于显示文件的隐藏权限,格式:“lsattr 参数 文件”
文件的隐藏权限必须用该命令查看,ls之类查看权限的命令无法看出

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值