RH124-Linux系统中的权限管理

Linux系统中的权限管理

一.权限的查看以及读取:

1.权限查看:

命令 效果
ls -l file 查看文件权限
ls -ld dir 查看目录权限

在这里插入图片描述

2.权限的读取:

[1]文件的属性被叫作文件的元数据(meta data)
[2]一种元数据用1个byte来记录内容
文件的权限信息:
[3]文件权限信息:

 -|rw-r--r--|.| 1 |root |root |0 |Jan 22 16:56 |file
[1]    [2]  [3][4]  [5]   [6]  [7]       [8]    [9]

目录权限信息:

 d|rwxr-xr-x|.| 2 |root| root| 6 |Jan 22 16:56 |dir
[1]   [2]   [3][4] [5]   [6]  [7]      [8]       [9]

对于权限信息中每一位的解释:
[1] : 文件类型:1)- 普通文件
2)d 目录
3)l 软连接
4)b 快设备
5)c 字符设备
6)s socket套接字
7)p 管道 |
[2]:用户权限,分三位:ugo
如对于用户权限为rw-r–r--,u为rw-,g为r–,o为r–
[3]:系统的selinux开启
[4]:对于文件:文件内容被系统记录的次数(硬链接个数)
对于目录:目录中子目录个数
[5]:文件拥有着
[6]:文件拥有组
[7]:对于文件:文件内容的大小
对于目录:目录中子目录的个数
[8]:文件或目录内容被修改的时间
[9]:文件名称或目录名称

二.普通权限的类型以及作用:

1.用户对文件的身份:

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

2.权限位:

对于rw-r–r--将其拆分成三位:

rw-|r--|r--
 u   g   o

3.用户身份匹配:

user > group > other,查看权限时对应用户身份的最高匹配

4.权限类型:

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

三.设定普通权限的方法:

用chmod命令可以修改指定文件的权限:

1.复制权限设定:

命令 效果
chmod --reference=dir1 dir2 复制dir1目录的权限到dir2上
chmod -R --reference=dir1 dir2 复制dir1目录的权限到dir2及dir2中的子文件上 -R 代表递归操作

实验时使用命令进行监控:

watch -n 1 "ls -ld dir1;echo ========;ls -ld dir2;echo ========;ls -lR dir2"

单一复制目录:
在这里插入图片描述
递归复制权限:
在这里插入图片描述

2.字符方式设定:

命令 效果
chmod (a;u;g;o) ( +;-;=)(r;w;x) 文件名或目录名 用字符方式设定文件或目录权限
chmod -R(a;u;g;o) ( +;-;=)(r;w;x) 目录名 用字符方式设定目录以及该目录中文件权限

实验时依旧使用上一个shell所设置的监控界面,已知出始dir1 dir2及其中的所有的文件权限ugo为r-x:
以下展示几种权限变化:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.数字方式设定权限:

权限的布尔表示方式:用三位二进制数表示八种不同情况的权限,然后转化为十进制数,并用三位十进制数,表示三个不同身份的权限信息,用数字方式设定对比字符方式设定更具有便捷,准确,不容易出错的特点:

十进制数 对应二进制数 对应权限
0 000 - - -
1 001 - - x
2 010 - w -
3 011 - w x
4 100 r - -
5 101 r - x
6 110 r w -
7 111 r w x

以下展示几种权限变化:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四.系统默认权限设定:

系统本身存在的意义:共享资源
从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高,既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放,把不安全的权力默认保留。所以针对权利的保留,我们针对系统的umask进行修改:

1.umask的临时更改:

命令 功能
umask 看保留权利
umask 全限值 临时设定系统预留权力
文件默认权限 =777-umask-111
目录默认权限 =777-umask

所以对于系统中的安全性来说,umask值越大,安全性就相对越高:
在这里插入图片描述
如图所示,设定umask值为055,则相应新建文件的权限应为777-055-111:即对应rw- -w- -w-,相应新建目录的权限应为777-055:即对应rwx -w- -w-

2.umask的永久更改:

命令 效果
vim /etc/bashrc shell系统配置文件
vim /etc/profile 系统环境配置文件
source /etc/bashrc source作用时使我们更改的内容立即被系统识别
source /etc/profile source作用时使我们更改的内容立即被系统识别

[1]执行vim /etc/bashrc时shell系统配置进行设置:
在这里插入图片描述
[2]执行vim /etc/profile时对系统环境配置进行设置:
在这里插入图片描述
[4]回到shell中执行umask并查看效果:
在这里插入图片描述

五.文件用户组管理:

命令 效果
chown username file 更改文件拥有者
chgrp groupname file 更改文件拥有组
chown username:groupname file 同时更改文件的拥有者和拥有组
chown/chgrp -R user/group dir 更改目录本身及目录中内容的拥有者或者拥有组

[1]chown直接更改文件拥有者:
在这里插入图片描述
添加-R可以递归地更改权限,即修改目录本身的拥有者以及目录中文件的拥有者:
在这里插入图片描述
[2]chgrp直接更改文件拥有组:
在这里插入图片描述
添加-R可以递归地更改权限,即修改目录本身的拥有组信息以及目录中文件的拥有组信息:
在这里插入图片描述
[3]chown username:groupname同时更改文件的拥有者和拥有组:
在这里插入图片描述

六.特殊权限:

1.stickyid 粘制位:

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

命令 效果
chmod 1原始权限(数字) dir 目录中的文件只能被文件所有人删除
chmod o+t dir 目录中的文件只能被文件所有人删除

用数字修改:
在这里插入图片描述
用o+t修改:
在这里插入图片描述
更改之后登录其他用户无法删除该用户所建立的文件

2.sgid 强制位:

针对目录: 目录中新建的文件自动归属到目录的所属组中

命令 效果
chmod 2源文件权限(数字) dir 目录中新建的文件自动归属到目录的所属组中
chmod g+s dir 目录中新建的文件自动归属到目录的所属组中

用数字修改:
在这里插入图片描述
用g+s修改:
在这里插入图片描述
修改目录后,再次向目录中新建文件,则新建的文件组信息均与目录组信息一致

3.suid 冒险位:

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

命令 效果
chmod 4原属性 file --------
chmod u+s file --------

在这里插入图片描述
用ps ax -o user,group可以查看当前所有运行程序对应的使用者,使用者组信息,用grep过滤字符cat后结果显示在user对应的是root,实际上是westos在shell中执行的程序,但是显示执行者是root
sudo的实质是改变uid,即特殊权限4中冒险位,其他用户执行时发起为拥有者

七.acl列表:

1.acl列表功能以及标识:

acl列表全称是:Aiccess Control Lists访问权限列表,功能:在列表中可以设定特殊用户对特殊文件有特殊权限
acl列表未开启时的标识:
在这里插入图片描述
开启acl列表后在权限位出现了 +
在这里插入图片描述

2.acl列表权限读取:

命令 效果
getfacl westosfile 显示内容分析
file: westosfile 文件名称
owner: root 文件拥有者
group: root 文件拥有组
user::rw- 文件拥有者权限
user:lee:rw- 特殊指定用户权限
group::r– 文件拥有组权限
group:westos:— 特殊指定的用户组的权限
mask::rw- 能够赋予特殊用户和特殊用户组的最大权限阀值
other::r– 其他人的权限

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

3.acl列表的控制:

命令 效果
setfacl -m u:***:rw westosfile 改变特殊指定用户的权限为rw
setfacl -m g:***:rw westosfile 改变特殊指定组的权限为rw
setfacl -m u::rwx westosfile 改变文件拥有者的权限为rwx
setfacl -m g::0 westosfile 改变文件拥有组的权限0
setfacl -x u:zjl westosfile 删除列表中的zjl
setfacl -b westosfile 关闭

[1]setfacl -m u::rw westosfile 改变特殊指定用户的权限为rw:
在这里插入图片描述
[2]setfacl -m g::rw westosfile改变特殊指定组的权限为rw:
在这里插入图片描述
[3]setfacl -m u::rwx westosfile改变文件拥有者的权限为rwx:
在这里插入图片描述
[4]setfacl -m g::0 westosfile改变文件拥有组的权限0:
在这里插入图片描述
[5]setfacl -x u:zjl westosfile删除列表中的zjl:
在这里插入图片描述
[6]setfacl -b westosfile关闭:
在这里插入图片描述

4.acl权限优先级:

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

5.acl mask控制:

mask是能够赋予指定用户权限的最大阀值,当设定完毕文件的acl列表之后用chmod缩小了文件拥有组的权力mask会发生变化:
用setfacl -m m:权限 file修改文件的mask:
在这里插入图片描述
用chmod修改之后将file的mask缩小:
在这里插入图片描述

6.acl列表的默认权限:

命令 效果
setfacl -m u:zjl:rwx /mnt/westosdir 只对于/mnt/westosdir目录本身生效
setfacl -Rm u:zjl:rwx /mnt/westosdir 对于/mnt/westosdir目录和目录中已经存在的内容生效
setfacl -m d:u:lee:rwx /mnt/westosdir/ 针对与/mnt/westosdir目录中新建文件生效

[1]setfacl -m/-Rm u::rwx file仅会对于已存在的文件生效,而新建文件是不会被设定的:
在这里插入图片描述
[2]setfacl -m d:u::rwx file会对新建的文件生效:
在这里插入图片描述
在这里插入图片描述
注:若设定完default之后想将更改取消可以用命令:

setfacl -k d:u:用户 目录

八.attr权限设置:(可以限制所有用户)

命令 效果
chattr 参数 file/dir 设定attr权限
lsattr file 查看file的attr权限
lsattr -d dir 查看dir的attr权限

chattr命令对应的参数以及效果有:

参数 效果
i 不能作任何的更改
a 能添加不能删除

在这里插入图片描述
针对attr参数搭配a的进一步探究:
在这里插入图片描述
执行echo命令也会被拒绝
在这里插入图片描述
同样在vim程序中无法在编辑之后退出保存

猜你喜欢

转载自blog.csdn.net/weixin_46702804/article/details/112987988