关于 linux 文件权限控制-SELinux

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 关于 linux 文件权限控制-SELinux

引言

在linux 系统中,最常见的一个就是文件权限了,什么777,755,等等,如果没有权限,就无法操作相关的文件,那么,linux系统中的权限控制是怎么样的呢?为什么有时候设置了777,还是出现没有权限的情况呢?

自主访问控制(DAC: Discretionary Access Control)

linux 777权限

在讲DAC之前,先讲一讲关于linux中文件的权限情况,通过ls -l命令可以查看到文件的详细情况,以及权限:

tioncico@tioncico-PC:~$ ls -l
总用量 1344
drwxr-xr-x  3 tioncico tioncico    4096 1月   6 10:06 CLionProjects
drwxr-xr-x  3 tioncico tioncico    4096 1月   3 23:22 databases-incognito
drwxr-xr-x  5 tioncico tioncico    4096 6月  11 20:55 Desktop
drwxr-xr-x  4 tioncico tioncico    4096 5月  25 01:58 Documents
drwxr-xr-x  4 tioncico tioncico    4096 5月  18 23:28 Downloads
drwxr-xr-x  3 tioncico tioncico    4096 2月   4 10:11 Music
drwx------  6 mysql    mysql       4096 6月  14 18:42 mysql
drwxr-xr-x  9 tioncico tioncico    4096 6月  11 19:55 PhpstormProjects
drwxr-xr-x  2 tioncico tioncico    4096 12月 23 17:32 Pictures
drwxr-xr-x  6 tioncico tioncico    4096 3月  19 00:25 redis-3.2.13
drwxr-xr-x 13 tioncico tioncico    4096 6月  15 11:21 swoole-src-4.3.5
-rw-r--r--  1 tioncico tioncico 1312699 6月  15 11:11 v4.3.5.tar.gz
drwxr-xr-x  2 tioncico tioncico    4096 12月 23 17:42 Videos
drwxr-xr-x  9 tioncico tioncico    4096 6月  15 17:20 work
drwxr-xr-x  2 tioncico tioncico    4096 12月 23 17:32 模板

在第一列中,d代表该文件是一个目录,其他9个字符,分别代表了,如果字符为-则代表没有权限:

1:所属用户是否拥有读权限,所属用户是否拥有写权限,所属用户是否拥有执行权限

2:所属用户组是否拥有读权限,所属用户组是否拥有写权限,所属用户组是否拥有执行权限

3:其他用户是否拥有读权限,其他用户是否拥有写权限,其他用户是否拥有执行权限

只要拥有权限,就代表着能够操作该文件

例如:

当前用户想进入mysql用户,由于tioncico用户没有权限,则进入失败:

tioncico@tioncico-PC:~$ w
 22:01:58 up 1 day,  3:19,  1 user,  load average: 0.53, 0.70, 0.77
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
tioncico tty1     :0               五18   27:19m 19:19  19.27s /usr/bin/startdde
tioncico@tioncico-PC:~$ cd mysql/
bash: cd: mysql/: 权限不够

但是,超级管理员,拥有者所有权限,可以直接进入:

image.png

理论上,超级管理员拥有者最高权限,不管该文件权限如何,超级管理员都是可以操作的

root@tioncico-PC:/home/tioncico# cd mysql/
root@tioncico-PC:/home/tioncico/mysql# cd ../
root@tioncico-PC:/home/tioncico# chmod -R 000 mysql/
root@tioncico-PC:/home/tioncico# cd mysql/
root@tioncico-PC:/home/tioncico/mysql# cd ../
root@tioncico-PC:/home/tioncico# chmod -R 700 mysql/

DAC

DAC  权限控制系统针对的是某个用户

系统将识别用户,根据该文件存储的权限情况(777),来决定该用户能不能操作这个文件,linux在大多数情况,都是使用的DAC权限控制

DAC权限控制的缺点有:

1:超级管理员拥有者最高权限,不管有没有权限,超级管理员都可以访问

2:该权限控制系统针对的是用户,无法将一组文件设置一个统一的权限开放给一组用户,DAC 只有文件拥有者,文件所属组,以及其他用户这3种区分

强制访问控制(MAC: Mandatory Access Control)

MAC是为了弥补DAC权限控制过于分散的问题而诞生的。在MAC的设计中,每一个对象都都有一些权限标识,每个用户同样也会有一些权限标识,而用户能否对该对象进行操作取决于双方的权限标识的关系,这个限制判断通常是由系统硬性限制的。比如在影视作品中我们经常能看到特工在查询机密文件时,屏幕提示需要“无法访问,需要一级安全许可”,这个例子中,文件上就有“一级安全许可”的权限标识,而用户并不具有。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
算法 安全 Linux
Linux粘滞位(Sticky Bit)与文件权限的深度解析
Linux粘滞位(Sticky Bit)与文件权限的深度解析
670 0
|
存储 Linux 数据安全/隐私保护
Linux文件权限及用户管理
Linux文件权限及用户管理
216 0
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解Linux文件权限
【Linux】深入理解Linux文件权限
265 0
|
存储 安全 Linux
|
Linux
linux查看修改文件权限
linux查看修改文件权限
134 4
|
Linux
Linux 文件权限详解
Linux 文件权限用于控制文件和目录的访问,分为读、写、执行三种权限,并针对文件所有者、所属组和其他用户分别设置。使用 `ls -l` 查看权限信息,`chmod` 修改权限。符号方式(如 `u+rwx`)和数字方式(如 755)均可设置权限。例如,`chmod +x filename` 添加执行权限给所有用户,`chmod 644 filename` 设置所有者读写、其他用户只读权限。
495 13
|
安全 Ubuntu Shell
Linux之用户权限和文件权限详解
Linux之用户权限和文件权限详解
248 0
|
安全 Linux 数据安全/隐私保护
探索Linux操作系统的文件权限管理
【9月更文挑战第29天】在数字世界中,文件权限管理如同保护我们隐私的锁。本文将带你了解如何在Linux系统中设置和管理文件权限,确保你的数据安全。我们将一起学习如何通过命令行工具来控制文件访问,就像学习一门新语言一样有趣。准备好了吗?让我们一起开启这场技术之旅!
|
Linux 开发工具
在Linux中,文件权限有哪些?有什么作用?
在Linux中,文件权限有哪些?有什么作用?
|
Linux 数据安全/隐私保护
在Linux中,什么是文件权限?什么是rwx权限模型?
在Linux中,什么是文件权限?什么是rwx权限模型?