深入浅出!从零开始的Linux教程 基础篇(权限管理)

如何查看及读取权限信息

查看文件属性

在这里插入图片描述

对于属性各字段的理解

对于文件属性字段的理解对于目录属性字段的理解
1 类型1 类型
2 文件权限2 目录权限
3 SELinux Context3 SELinux Context
4 文件硬链接个数4 目录中子目录的个数
5 文件拥有者5 文件拥有者
6 文件拥有组6 文件拥有组
7 文件大小7 目录中自文件或子目录元数据大小
8 文件最后一次被修改的时间8 目录中的内容最后一次被修改的时间
9 文件名称9 目录名称

文件的拥有者及拥有组

文件的拥有者及拥有组

linux是一个多用户多任务的系统,经常会出现很多人使用一台主机进行工作,为了每个人的隐私权以及喜爱的工作环境,对用户进行分类。

用户对文件的划分 文件的拥有者 文件的所属组 其他人

更改文件拥有者及拥有组的方法

  • 文件拥有者及拥有组只有超级用户root可以修改
  • 更改方式如下
 chown 用户名 文件
 chgrp 组名称 文件 
 chown –R 用户名 目录
 chgrp –R 组名称 目录 
 chown 用户名 : 组名称 文件 | 目录

在/mnt/ 下建立3个文件和一个目录,在目录中在建立3个文件,然后对其拥有者和所属组进行更改

在这里插入图片描述
建立好以后,利用watch命令来对目录以及文件进行监控
在这里插入图片描述

  • chown haha /mnt/haha1 ##更改文件的所有者
  • chgrp haha /mnt/haha2 ##更改文件的所有组
  • chown haha.tom /mnt/haha3 ##更改文件的所有者和所有组
  • chown haha /mnt/pipidir/ 更改目录拥有者(文件内的拥有者不变)
  • chown root /mnt/pipidir/
  • chown -R haha /mnt/pipidir/ 批量管理目录拥有者(文件内的拥有者全部改变)
  • chgrp -R haha /mnt/pipidir/ 批量管理目录所属祖(文件内的所属组全部改变)
    在这里插入图片描述

文件权限的理解

文件权限读取

在这里插入图片描述

权限类型

权限类型权限含义
- 关闭权限此位权限 未开启
r readable 查看权限1.对于文件 可查看文件中的内容 2.对于目录 可列出目录中的文件名称
w writeable 可写权限1.对于文件 可更改文件记录的内容 2.对于目录 可更改目录中文件元数据
x excutable 执行权权限1.对于文件 可用文件名称调用文件内记录的程序 2.对于目录 可进入目录

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

文件权限的设定方式

设定权限的方式

设定方式用法
字符方式设定文字权限chmod 参数 权限模式 目标
数字方式设定文字权限chmod 参数 权限值 目标
依照模板复制文字权限chmod 参数 - -reference=模板 目标

字符方式设定权限

chmod   <u/g/o/a> <+/-/=><r/w/x>   目标

例如:

chmod u=rw file1
chmod ug-w,o+x file2
chmod -r|-x|-w haha
chmod a-w haha

数字方式设定文件权限

chmod   参数   权限值    目标
- - -0000
- - x0011
- w -0102
- w x0113
r - -1004
r - x1015
r w -1106
r w x1117

实验一

让file1权限变成file2
在这里插入图片描述
在这里插入图片描述
让file3的权限变为rwxrwxr-x
在这里插入图片描述在这里插入图片描述

依照模板复制文件权限

chmod 参数   - -reference=模板   目标

实验二

复制file2的权限给file1
在这里插入图片描述

系统预留权限阀值

对于权限预留阀值的理解

资源存在意义是为了共享,权限开放越大共享越多,但安全性也更小;权限开放越小,系统也就越安全,但共享资源变少。因此,在系统中,我们需要开放应该开放的权利,保留不安全的权利以确保系统的安全性和功能性。

权限预留阀值设定

1.umask——系统中使用umask来查看并设定预留权限阈值
级别越高系统越安全,权限越小。
在这里插入图片描述
在这里插入图片描述
说明:用户身份不同,安全级别也不同。
预留阀值是022,系统的满权限是777,所以,建立目录的权限是777-022=755,建立的文件的权利是755-111=644(其中111是文件系统保留权限,是硬盘软件设定的不能改,不同文件系统的预留权限不一样)

2.更改预留权限的阀值
临时更改权限阀值  umask  +  数字
在这里插入图片描述
但是,在重新打开一个shell之后,设定就会被修改

永久改变权限阀值
shell配置文件(/etc/bashrc)+ 系统环境配置文件(/etc/profile)

vim /etc/bashrc   vim /etc/proofile
source /etc/bashrc   source /etc/proofile

打开/etc/bashrc文件
在这里插入图片描述
注意观察if语句所给出的先决条件,来判断else语句之前和之后的内容分别对应哪一类用户
如图中所示,else语句之前表示普通用户,之后表示超级用户

修改超级用户umask为077
在这里插入图片描述
wq退出保存
打开/etc/profile文件
同样按照上图内容进行修改,不在赘述
注意:内容的设定必须完全一致!!!
更改完成后需要用source调用
在这里插入图片描述

Linux中的特殊权限

对特殊权限的理解

特殊权限用法
SUID只针对二进制的可执行文件,发起使用suid权限的文件时,都以文件所有人身份执行
SGID针对二进制可执行文件,发起时以文件所有组身份执行,和是谁发起无关;针对目录,目录中新建文件所属组会自动与目录所有组保持一致
STICKYID对于文件,即使文件没有被程序调用也会被加载到交换空间;对于目录,有stickyid权限时,所有用户在该目录下均可创建文件,但只有文件拥有者和root用户可以删除该目录下的文件

stickyid(粘滞位) chmod   o+t   directory

other位t权限开启时,针对目录,目录里的文件只能被文件所有人删除,否则不行;
t权限开启时,对于文件,即使没有被程序使用也会自动加载到系统内存中。

实验三

在/mnt下建立一个权限全部开放的目录public,用户haha在目录下建立一个文件file1,用户westos在目录下建立一个文件file2
在这里插入图片描述
用户westos不仅可以删除自己建立的文件,也可以删除用户haha建立的文件

利用chmod   o+t   directory命令让用户只能删除自己的文件
在这里插入图片描述

suid(冒险位)chmod   u+s   TAG

设定命令在执行的时候必须用一个固定的用户身份去执行,使用时发起以文件所有人身份执行。

实验四

利用watch -n 1 "ps ax -o user,group,comm |grep cat"来观察进程
注意:进程的所有人和文件的所有人是没有关系的,谁执行的动作产生的进程就是谁的
在这里插入图片描述
在这里插入图片描述
设定suid在二进制可执行文件/bin上
在这里插入图片描述

sgid(强制位)chmod   g+s   TAG

针对二进制可执行文件 该命令发起的程序以命令的所有组身份执行;针对目录 ,目录新建文件的所属组与该目录的所有组保持一致

实验五

以文件的所有人和所有组身份执行:
在这里插入图片描述

对特殊权限的设定

1.字符方式

suid: chmod  u+s  TAG
sgid: chmod  g+s  TAG
stickyid:chmod  o+t  TAG
特殊权限理解
u+s不管命令是谁发起的,以文件所有人身份执行
g+s不管命令是谁发起的,以文件所有组身份执行
g+s在目录下新建文件,文件所属组与目录所属组相同,与建立者无关
o+t目录下的文件,只能删除属于自己的文件

2.数字方式

suid: chmod  4原文件属性  TAG
sgid: chmod  2原文件属性 TAG
stickyid:chmod  1原文件属性 TAG
ugo二进制八进制
- - t0011
- s -0102
- s t0113
s - -1004
s - t1015
s s -1106
s s t1117

ACL列表

facl概述及注意事项

传统的权限仅有 owner,group,othe三种身份,搭配 r,w,x三种权限,。并没有办法单纯的针对某一个使用者或某一个群组来设置特定的权限需求 , 此时就得要使用 ACL( Access Control List 文件访问控制列表) 这个机制。

注意:
    因此目前 ACL 几乎已经默认加入在所有常见的 Linux 文件系统的挂载参数中(ext2/ext3/ext4/xfs 等等 ), 但 rhel6.0以及之前的版本默认不支持 acl 的功能。

有关facl的命令

查看权限列表 getfacl filename
权限最后一位不是.是 +代表权限列表开启
权限列表开启后不再看普通权限,用getfacl查看真实权限.
包括:文件的名称;文件的所有组,文件的所有人的权限;特殊用户的权限;文件的组成员的权限;其他人的权限。
mask表示能赋予特殊用户最大权利的值。

getfacl查看权限列表
setfacl -m设定权限
setfacl -x删除指定用户
setfacl -b关闭列表功能

实验六

在/mnt下创建文件file,使得普通用户student对file文件可写
清空实验环境,在/mnt下建立文件file,并通过监控命令查看目录中文件以及查看权限列表
在这里插入图片描述
在这里插入图片描述
这个文件对于用户westos来说是没有权限的
我们可以利用getfacl命令来下放权限
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值