Linux seLinux

Linux seLinux

1、什么是selinux,security enhanced linux–安全加强的linux。
是由美国国家安全局开发的以及历史。selinux之前是基于自主存取控制方法DAC,
只要符合权限即可,通过suid和sgid特殊权限存在有一定的安全隐患,
甚至一些错误的配置就会引发巨大的漏洞,被轻易攻击。
selinux是基于强制存取控制方法MAC,
应用程序或用户必须同时符合DCA既要对应selinux的MAC才能正常操作,否则遭到拒绝。

DAC和MAC的比较
DAC:自主访问控制,主体是用户,访问目标文件,由文件本身权限决定的
MAC:强制访问控制,主体是程序,访问目标文件,由文件权限和策略决定。
2、selinux的原理
强制访问控制机制
在权限基础上,定义各种所属类型,类型不匹配将拒绝。
3、selinux的特点
(1.设置了一个安全的上下文标签(context值)
(2.同是拥有普通文件权限和selinux的安全策略
4、模式
配置文件路径
/etc/sysconfig/selinux==/etc/selinux/config

[root@ws ~]# vim /etc/sysconfig/selinux 

在这里插入图片描述

安全策略:
targeted 默认,适用于RHEL的
mls 及其安全的策略,极其强大,无比坑爹

1、enforcing 强制模式
2、permissive 警告模式(用来判断当一个服务报错时,是服务本身配置问题还是selinux的阻挡)
3、disabled 禁用模式

getenforce 查看selinux当前状态
setenforce 更改selinux当前状态(0/1)

[root@ws ~]# getenforce 
Enforcing
[root@ws ~]# setenforce 1
[root@ws ~]# getenforce 
Enforcing
[root@ws ~]# setenforce 0
[root@ws ~]# getenforce 
Permissive
说明0是警告模式1是强制模式

先下载httpd服务然后要防火墙添加fttpd服务可以访问

下载httpd略
[root@ws ~]# systemctl restart httpd.service 
[root@ws ~]# systemctl enable httpd.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@ws ~]# firewall-cmd --add-service=http --permanent
success
[root@ws ~]# firewall-cmd --reload 
success
[root@ws ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-client httpports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: 
[root@ws ~]# vim /etc/httpd/conf/httpd.conf 
[root@ws ~]# cd /var/www/html/
[root@ws html]# ls
[root@ws html]# vim index.html

httpdd的文件

在这里插入图片描述

在/var/www/html路径 在网页的默认名字中写

在这里插入图片描述

可以访问得到

在这里插入图片描述

换一个网页 创建/www目录 在index.html

[root@ws ~]# mkdir /www
[root@ws ~]# cd /www
[root@ws www]# vim index.html

然后进入vim /etc/httpd/conf/httpd.conf

[root@ws ~]# vim /etc/httpd/conf/httpd.conf 
[root@ws ~]# systemctl restart httpd.service 

在这里插入图片描述

但是网页没有出现my name is wangshuai

是什么原因了

context值

先查看context值

system_u:用户上下文

object_r:角色上下文

httpd_sys_content_t:文件类型

[root@ws ~]# ll -dZ /var/www/html/		//查看目录的context值
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
[root@ws ~]# ll -Z /var/www/html/		//查看文件的context值
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html
[root@ws ~]# ll -dZ /www/
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /www/
[root@ws ~]# ll -Z /www/
-rw-r--r--. root root unconfined_u:object_r:default_t:s0 index.html
// /www与/var/www/html的context值不同需要修改

restorecon -v redhat 恢复redhat的context值
更改路径context值也会发生变化。(这是临时修改不建议用)

永久修改context值
semanage fcontext -a -t tmp_t “/abc(/.*)?”
restorecon -RFv /abc/

[root@ws ~]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
[root@ws ~]# restorecon -Rv /www/
restorecon reset /www context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
restorecon reset /www/index.html context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
[root@ws ~]# ll -dZ /www/
drwxr-xr-x. root root unconfined_u:object_r:httpd_sys_content_t:s0 /www/
[root@ws ~]# ll -Z /www/
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html

现在可以访问

在这里插入图片描述

该端口

[root@ws ~]# vim /etc/httpd/conf/httpd.conf 
[root@ws ~]# systemctl restart httpd.service 
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
httpd服务不能启动
要考虑防火墙的端口有没有8899
[root@ws ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-client httpports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: 
端口号没有8899 需要添加8899端口号
[root@ws ~]# firewall-cmd --add-port=8899/tcp --permanent
success
[root@ws ~]# firewall-cmd --reload
success
[root@ws ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-client httpports: 8899/tcpprotocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: 现在在启动httpd服务
[root@ws ~]# systemctl restart httpd.service 
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
还是不能启动

在这里插入图片描述

原先的端口号是80 修改成8899

查询端口标签
semanage port -l | grep httpd

添加
semanage port -a -t [端口类型] -p 【tcp/udp】 【端口号】

[root@ws ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
这个里面没有8899端口号需要添加
[root@ws ~]# semanage port -a -t http_port_t -p tcp 8899
[root@ws ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      8899, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
有8899端口号了
在启动httpd服务
[root@ws ~]# systemctl restart httpd.service 

能访问8899端口号

在这里插入图片描述

bool开关

semanage boolean -l 查看所有bool开关
setsebool -P 修改布尔开关
例子:
临时修改(服务器重启后,失效)
setsebool ftpd_full_access on

永久修改:
setsebool -P ftpd_full_access on

semanage boolean -l

在这里插入图片描述

前面on是临时关 后面on是永久关 后面是作用

selinux需要考虑三个方便

1 context值

2 端口号

有bool开关
setsebool -P 修改布尔开关
例子:
临时修改(服务器重启后,失效)
setsebool ftpd_full_access on

永久修改:
setsebool -P ftpd_full_access on

semanage boolean -l

[外链图片转存中…(img-vUkoJKZS-1754492394842)]

前面on是临时关 后面on是永久关 后面是作用

selinux需要考虑三个方便

1 context值

2 端口号

3.boolean

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92285.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux: NFS 服务部署与autofs自动挂载的配置

Linux: NFS 服务部署与autofs自动挂载的配置NFS(Network File System,网络文件系统)是一种基于 TCP/IP 协议的网络文件共享协议,允许不同主机在网络中共享文件资源,实现跨主机的文件访问与管理,…

【深度学习②】| DNN篇

0 序言 本文将系统介绍基于PyTorch的深度神经网络(DNN)相关知识,包括张量的基础操作、DNN的工作原理、实现流程,以及批量梯度下降、小批量梯度下降方法和手写数字识别案例。通过学习,你将掌握DNN的核心概念、PyTorch实…

Xcode 26 如何在创建的 App 包中添加特定的目录

功能需求 在某些情况下,我们需要将特定文件放在 Xcode 编译链接后 App 包里的指定目录中,比如将 AI 大模型相关文件放在它们对应名称的目录中: 正常情况下,Xcode 会将项目目录中的所有文件都平铺放到 App 包的根目录里。那么,要如何形成上面这种文件目录层级呢? 在本篇…

linux-系统性能监控

linux-系统性能监控一、cpu1.1 查看cpu的信息1.2 cpu性能指标1.3 编写监控cpu使用率的脚本1.4 查找出使用cpu最高的10个进程二、内存2.1 查看内存信息2.2 交换(swap)分区2.2.1 查看交换分区的积极程度2.2.2 查看交换分区的大小2.2.3 管理交换分区2.3 编写…

AgxOrin平台JetPack5.x版本fix multi-cam race condition 补丁

本文包含三个针对NVIDIA Linux驱动程序的补丁修复: 多摄像头竞争条件修复 在capture-ivc驱动中新增信号量机制,解决多摄像头同时操作时的竞争条件问题(Bug 4425972)。主要修改包括在通道上下文结构中添加信号量,并在通道ID通知和取消注册时进行信号量操作。 内存泄漏修复…

【Go】P3 Go语言程序结构

Go语言程序结构Go语言程序结构命名规则与编程惯例核心规则四种声明语句详解var声明:变量声明const声明:常量声明type声明:类型定义func声明:函数声明简短变量声明(:)使用规则和限制指针:安全的内存地址操作基本概念和操…

【机器学习深度学习】知识蒸馏实战:让小模型拥有大模型的智慧

目录 引言:模型压缩的迫切需求 一、知识蒸馏的核心原理 1.1 教师-学生模式 1.2 软目标:知识传递的关键 1.3 蒸馏损失函数 二、实战:Qwen模型蒸馏实现 2.1 环境配置与模型加载 2.2 蒸馏损失函数实现 2.3 蒸馏训练流程 2.4 训练优化技…

基于MCP提示构建工作流程自动化的实践指南

引言 在现代工作和生活中,我们经常被各种重复性任务所困扰——从每周的膳食计划到代码审查反馈,从文档更新到报告生成。这些任务虽然不复杂,却消耗了大量宝贵时间。MCP(Model Context Protocol)提示技术为解决这一问题…

apache-tomcat-11.0.9安装及环境变量配置

一、安装从官网上下载apache-tomcat-11.0.9,可以下载exe可执行文件版本,也可以下载zip版本,本文中下载的是zip版本。将下载的文件解压到指定目录;打开tomcat安装目录下“\conf\tomcat-users.xml”文件;输入以下代码,pa…

Java 大视界 -- Java 大数据机器学习模型在电商用户生命周期价值评估与客户关系精细化管理中的应用(383)

Java 大视界 -- Java 大数据机器学习模型在电商用户生命周期价值评估与客户关系精细化管理中的应用(383)引言:正文:一、电商用户运营的 “糊涂账”:不是所有客户都该被讨好1.1 运营者的 “三大错觉”1.1.1 错把 “过客…

豆包新模型与PromptPilot工具深度测评:AI应用开发的全流程突破

目录引言一、豆包新模型技术解析1.1 豆包新模型介绍1.2 核心能力突破1.2.1 情感交互能力1.2.2 推理与编码能力二、PromptPilot工具深度测评2.1 PromptPilot介绍2.2 工具架构与核心功能2.3 一个案例讲通:市场调研报告2.3.1 生成Prompt2.3.2 批量集生成2.3.3 模拟数据…

【代码随想录day 12】 力扣 144.145.94.前序遍历中序遍历后序遍历

视频讲解:https://www.bilibili.com/video/BV1Wh411S7xt/?vd_sourcea935eaede74a204ec74fd041b917810c 文档讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%80%92%E5%BD%92%E9%81%8D%E5%8E%86.html#%E5%85%B6%E4%BB%96%E8%A…

【Unity】 HTFramework框架(六十七)UDateTime可序列化日期时间(附日期拾取器)

更新日期:2025年8月6日。 Github 仓库:https://github.com/SaiTingHu/HTFramework Gitee 仓库:https://gitee.com/SaiTingHu/HTFramework 索引一、UDateTime可序列化日期时间1.定义UDateTime字段2.日期拾取器(编辑器)3…

Docker的安装,服务器与客户端之间的通信

目录 1、Docker安装 1.1主机配置 1.2apt源的修改 1.3apt安装 2、客户端与服务端通信 2.1服务端配置 2.1.1创建镜像存放目录 2.1.2修改配置文件 2.2端口通信 2.3SSH连接 2.3.1生成密钥 2.3.2传输密钥 2.3.3测试连接 1、Docker安装 1.1主机配置 我使用的两台主机是…

【算法专题训练】09、累加子数组之和

1、题目:LCR 010. 和为 K 的子数组 https://leetcode.cn/problems/QTMn0o/description/ 给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。示例 1: 输入:nums [1,1,1], k 2 输出: 2 解释: 此题 [1,1] 与 [1,1] 为两…

WinXP配置一键还原的方法

使用系统自带的系统还原功能:启用系统还原:右键点击 “我的电脑”,选择 “属性”,切换到 “系统还原” 选项卡,确保 “在所有驱动器上关闭系统还原” 未被勾选,并为系统驱动器(C:)设…

基于模式识别的订单簿大单自动化处理系统

一、系统概述 在金融交易领域,订单簿承载着海量的交易信息,其中大单的处理对于市场流动性和价格稳定性有着关键影响。基于模式识别的订单簿大单自动化处理系统旨在通过智能算法,精准识别订单簿中的大单特征,并实现自动化的高效处理…

table行内--图片预览--image

需求:点击预览,进行预览。支持多张图切换思路:使用插槽;src : 展示第一张图;添加preview-src-list ,用于点击预览。使用插槽(UI组件--> avue)column: 测试数据

560. 和为 K 的子数组 - 前缀和思想

560. 和为 K 的子数组 - 前缀和思想 在算法题中,前缀和是一种能快速计算 “数组中某段连续元素之和” 的预处理方法,核心思路是 “提前计算并存储中间结果,避免重复计算” 前缀和的定义: 对于一个数组 nums,我们可以创…

Python金融分析:从基础到量化交易的完整指南

Python金融分析:从基础到量化交易的完整指南 引言:Python在金融领域的核心地位 在量化投资规模突破5万亿美元的2025年,Python已成为金融分析的核心工具: 数据处理效率:Pandas处理百万行金融数据仅需2.3秒 策略回测速度:Backtrader框架使策略验证效率提升17倍 风险评估精…