关于 linux 文件权限控制-SELinux

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 关于 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的设计中,每一个对象都都有一些权限标识,每个用户同样也会有一些权限标识,而用户能否对该对象进行操作取决于双方的权限标识的关系,这个限制判断通常是由系统硬性限制的。比如在影视作品中我们经常能看到特工在查询机密文件时,屏幕提示需要“无法访问,需要一级安全许可”,这个例子中,文件上就有“一级安全许可”的权限标识,而用户并不具有。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 Linux 数据安全/隐私保护
Linux文件权限及用户管理
Linux文件权限及用户管理
15 0
|
1月前
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解Linux文件权限
【Linux】深入理解Linux文件权限
36 0
|
4月前
|
存储 Linux 数据安全/隐私保护
哇~~真的是你呀!今天是Linux文件权限与归档压缩。
Linux文件权限可以控制文件和目录的读取、写入和执行权限,保护系统和用户文件的安全性和私密性。文件权限通常使用r、w、x三个字母来表示,分别表示读取、写入和执行的权限。Linux中文件权限被分成三个等级:用户(user)、用户组(group)、其他人(other)。每个用户可以被分配为不同的用户组,同时用户也可以独立属于一个用户组。
55 0
|
4月前
|
Linux Go 数据安全/隐私保护
linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep
linux常用命令手册 用户管理useradd 文件权限管理chmod 搜索管理find grep
65 2
|
5月前
|
安全 Linux Shell
Linux加强篇005-用户身份与文件权限
山重水复疑无路,柳暗花明又一村
281 2
Linux加强篇005-用户身份与文件权限
|
6月前
|
运维 Linux Go
【Linux】管理Linux文件权限属性介绍
【Linux】管理Linux文件权限属性介绍
62 0
【Linux】管理Linux文件权限属性介绍
|
7月前
|
安全 Linux 开发工具
16.5.4 【Linux】SELinux 政策内的规则管理
16.5.4 【Linux】SELinux 政策内的规则管理
42 0
|
29天前
|
安全 Ubuntu Shell
Linux之用户权限和文件权限详解
Linux之用户权限和文件权限详解
|
5月前
|
安全 Linux
Linux文件权限详解
Linux是一款功能强大的操作系统,其文件权限系统是确保文件和系统安全的关键组成部分。正确理解和配置文件权限对于维护系统安全至关重要。
106 4
Linux文件权限详解
|
1月前
|
Linux
Linux 文件权限详细教程
Linux 文件权限是系统中非常重要的概念之一,用于控制对文件和目录的访问。权限分为读(Read)、写(Write)、执行(Execute)三个部分,分别表示对文件的读取、修改和执行操作的权限。 文件权限可以分为三类用户:文件所有者(Owner)、文件所属组(Group)、其他用户(Others)。 查看文件权限 可以使用 ls -l 命令来查看文件的详细权限信息。 执行该命令后,会显示包括权限、所有者、所属组、文件大小、创建时间等信息。
53 2