江苏景禾瑜博建设工程有限公司网站/长沙靠谱关键词优化服务
目录
一.SElinux工作原理简介
1.system_u
2.object_r
3.httpd_sys_content_t
4.s0
二.SElinux策略的具体使用详情
1.restorecon
2.semanage
3.chcon
一.SElinux工作原理简介
通过mac方式管理进程,管理的目标是进程是否具有读取权限的文件(文件、目录、端口等),要使得进程和目标的安全上下文一致才能够顺利访问到资源(还要受文件资源的RWX等权限影响)。MAC可以针对特定的进程与特定的文件资源来进行权限的控制,即使你是root,在使用不同的进程时,你所能取得的权限并不一定是root,而得要看当时该进程的设置而定。这样一来就可以针对进程而不是用户对文件来进行访问控制。此外,这个进程也不能任意使用系统文件资源,因为每个文件资源也有针对进程设置可取用的权限。由于,整个系统进程那么多,文件那么多,所以SELinux也提供一些默认的策略(policy),并在该策略内提供多个规则,让你可以选择是否启用该控制规则。
#如下是我160主机的httpd的html目录的安全上下文内容,以ls -Z来查看,其中有4个字段,稍后作解释
[root@R9 www]# ls -Zl
total 0
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 24 Dec 23 21:38 ip
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 24 Dec 27 13:29 ip1
1.system_u
身份标识,root表示root、system_u表示进程程序、unconfined_u表示一般用户相关身份
2.object_r
角色字段,可以判断是属于程序、文件、用户中的哪一种,object_r表示文件或目录资源,system_r表示是进程
3.httpd_sys_content_t
类型字段,作用域哪一个域
4.s0
灵敏度,一般会有s0、s1、s2,数值越大灵敏度越高,与MLS和MCS相关
二.SElinux策略的具体使用详情
SElinux的开启和关闭在之前的文章已经介绍到,现在我们在关闭firewalld并且SElinux为Enforcing(Enforcing为强制限制,permissive为运行selinux但不强制,disabled为关闭selinux)的情况下进行演示,这里所有代码段均以httpd服务为例。
[root@R9 www]# systemctl status firewalld.service | grep ActiveActive: inactive (dead)
[root@R9 www]# getenforce
Enforcing
1.restorecon
(1)这个命令可以将安全上下文修改为原始默认的状态,如下所示
[root@R9 www]# ls -Zl #修改后安全上下文
total 0
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 24 Dec 23 21:38 ip
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 24 Dec 27 13:29 ip1
[root@R9 www]# restorecon -R /www/ #进行重置
[root@R9 www]# ls -ZL
system_u:object_r:default_t:s0 ip
system_u:object_r:default_t:s0 ip1
(2)可用参数
-R:将目录及其子目录一起修改
-v:将过程输出到屏幕上(详情)
2.semanage
(1)这个命令可以来进行查询和修改安全上下文设置,如下所示,我要修改我本机的html目录时就可以去查看httpd默认的安全上下文是怎样的,在后面就可以按照这个策略进行更改
[root@R9 www]# semanage fcontext -l | grep /var/www/html
/var/www/html(/.*)?/sites/default/files(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/sites/default/settings\.php regular file system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/uploads(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/wp-content(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/wp_backups(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html/[^/]*/cgi-bin(/.*)? all files system_u:object_r:httpd_sys_script_exec_t:s0
/var/www/html/cgi/munin.* all files system_u:object_r:munin_script_exec_t:s0
/var/www/html/configuration\.php all files system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html/munin(/.*)? all files system_u:object_r:munin_content_t:s0
/var/www/html/munin/cgi(/.*)? all files system_u:object_r:munin_script_exec_t:s0
/var/www/html/nextcloud/data(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html/owncloud/data(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0
(2)可用参数
-l:查询
-a:增加安全上下文设置
-m:修改设置
-d:删除设置
(3)这里以一个例子介绍一部分semanage对于端口的管理
如下所示,我配置了80和8090端口的http服务,80端口chcon了安全上下文,8090端口为chcon安全上下文并且没有配置其的端口放行,在重启服务时就会报错了
[root@R9 www]# semanage port -l | grep http_port
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
[root@R9 www]# ls -Zl
total 0
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 24 Dec 23 21:38 ip
drwxr-xr-x. 2 root root system_u:object_r:default_t:s0 24 Dec 27 14:19 ip1
[root@R9 www]# cat /etc/httpd/conf.d/myweb.conf
<VirtualHost 192.168.2.160>servername www.ssll.comDocumentRoot /www/ip<Directory "/www">AllowOverride NoneRequire all granted</Directory>
</VirtualHost>
<VirtualHost 192.168.2.160:8090>DocumentRoot /www/ip1<Directory "/www">AllowOverride NoneRequire all granted</Directory>
</VirtualHost>
[root@R9 www]# systemctl restart httpd
Job for httpd.service failed because the control process exited with error code.
See "systemctl status httpd.service" and "journalctl -xeu httpd.service" for details.
[root@R9 www]# systemctl status httpd
× httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)Active: failed (Result: exit-code) since Wed 2023-12-27 14:21:25 CST; 7s agoDuration: 46min 40.807sDocs: man:httpd.service(8)Process: 4553 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)Main PID: 4553 (code=exited, status=1/FAILURE)Status: "Reading configuration..."CPU: 25ms
Dec 27 14:21:15 R9 systemd[1]: Starting The Apache HTTP Server...
Dec 27 14:21:25 R9 httpd[4553]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:>
Dec 27 14:21:25 R9 httpd[4553]: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:8090
Dec 27 14:21:25 R9 httpd[4553]: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:8090
Dec 27 14:21:25 R9 httpd[4553]: no listening sockets available, shutting down
Dec 27 14:21:25 R9 httpd[4553]: AH00015: Unable to open logs
Dec 27 14:21:25 R9 systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
Dec 27 14:21:25 R9 systemd[1]: httpd.service: Failed with result 'exit-code'.
Dec 27 14:21:25 R9 systemd[1]: Failed to start The Apache HTTP Server.
接下来添加8090服务端口,可以看到重启服务成功并且8090端口已被添加成功,也可以成功访问
[root@R9 www]# semanage port -a -t http_port_t -p tcp 8090
[root@R9 www]# systemctl restart httpd
🔐 Enter TLS private key passphrase for fe80::20c:29ff:fe49:e52%ens160:443 (RSA) : *******
[root@R9 www]# ls -Zl
total 0
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 24 Dec 23 21:38 ip
drwxr-xr-x. 2 root root system_u:object_r:default_t:s0 24 Dec 27 14:19 ip1
[root@R9 www]# semanage port -l | grep http_port_t
http_port_t tcp 8090, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t tcp 5988
[root@SLB ~]# curl 192.168.2.160:8090
hello
删除端口时可以这样做
[root@R9 www]# semanage port -d -t http_port_t -p tcp 8090
3.chcon
(1)这个命令用于修改安全上下文,如下所示我按照上面我查询到的策略进行修改后,能够顺利访问到目录内容
[root@R9 www]# ls -Zl
total 0
drwxr-xr-x. 2 root root system_u:object_r:default_t:s0 24 Dec 23 21:38 ip
drwxr-xr-x. 2 root root system_u:object_r:default_t:s0 24 Dec 27 13:29 ip1
[root@R9 www]# chcon -t httpd_sys_rw_content_t /www/ -R
[root@R9 www]# ls -Zl
total 0
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_rw_content_t:s0 24 Dec 23 21:38 ip
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_rw_content_t:s0 24 Dec 27 13:29 ip1
[root@SLB ~]# curl 192.168.2.160
192.168.2.160
(2)可用参数
-R:将目录及其子目录一起修改
-t:跟安全上下文所要修改的字段内容
-u:跟身份标识
-r:跟角色字段
--reference=:这个表示按照哪个目录文件进行修改安全上下文
[root@R9 www]# restorecon -R /www #按照httpd默认的html目录进行修改
[root@R9 www]# chcon --reference=/var/www/html -R /www
[root@R9 www]# ls -Zl
total 0
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 24 Dec 23 21:38 ip
drwxr-xr-x. 2 root root system_u:object_r:httpd_sys_content_t:s0 24 Dec 27 13:29 ip1
[root@SLB ~]# curl 192.168.2.160
192.168.2.160
相关文章:

SElinux工作原理简介并演示chcon、semanage、restorecon的使用方法
目录 一.SElinux工作原理简介 1.system_u 2.object_r 3.httpd_sys_content_t 4.s0 二.SElinux策略的具体使用详情 1.restorecon 2.semanage 3.chcon 一.SElinux工作原理简介 通过mac方式管理进程,管理的目标是进程是否具有读取权限的文件(文件…...

表情串转换
前言 NWAFU 2021阶段二 D 一、题目描述 题目描述 在一个字符串中,设置了由‘/’前导字符和某些特定字母构成的转义子字符串,如“/s”、“/f”、“/c”等用于表示特殊表情符号。现要求编写一个函数,将给定字符串中的转义字符串转换为表情字…...

【娱乐小技巧】网页旋转90° 3步搞定
一、按F12,打开控制台; 二、点击号; 插入新body; 三、粘贴代码 -webkit-transform: rotate(90deg);小结,角度值可以自选; 代码的效果:...

移动管理系统软件哪家好?它是如何帮助企业降本增效的?
现在很多管理系统都可以用移动设备接入,最常见的就是手机。只要给管理系统创建一个微信小程序接口,那么要使用系统功能的时候直接打开微信小程序就可以了。例如我们小区的物业巡检就是通过微信扫码打开巡检工单记录信息的,直接用巡检保安自己…...

电脑表格文件丢失如何找回?3个方法拯救丢失的文件!
“太难了!我辛辛苦苦在电脑上做的表格,不知道什么原因突然就没有了,有什么方法可以找回丢失的表格文件吗?快帮帮我吧!” 在日常工作中,很多电脑用户可能都会用到表格文件,这往往记载了大量的重要…...

VSCode 如何安装插件的历史版本
背景 在日常开发过程中,我们可能会遇到新版VSCode插件存在问题,无法正常工作的情况。这种情况下,一种可行的解决方案就是安装插件的历史版本。VSCode 插件默认安装的都是插件最新的版本,例如下面 vscode-styled-compoents 插件 本…...

关于edge浏览器以及插件推荐
目录 广告拦截和隐私工具 密码管理器 生产力和组织工具 写作和语法工具 购物助手 娱乐和个性化 安全性和VPN 开发者工具 其他实用工具 Microsoft Edge 是一款基于Chromium开源项目的现代网络浏览器,由微软开发。它是Internet Explorer的继任者,…...

Vue Tinymce富文本组件自定义操作按钮
想实现如下效果 首先在init方法中的增加一插件 增加一个setup方法 代码 setup: function(editor) { editor.ui.registry.addButton(testButton, {text: 日记日期,tooltip: 插入日记日期,onAction: () > editor.insertContent("123456")});}, 操作效果࿰…...

论文阅读:Blind Super-Resolution Kernel Estimation using an Internal-GAN
这是发表在 2019 年 NIPS 上的一篇文章,那个时候还叫 NIPS,现在已经改名为 NeurIPS 了。文章中的其中一个作者 Michal Irani 是以色 Weizmann Institute of Science (魏茨曼科学研究学院) 的一名教授,对图像纹理的内在统计规律有着很深入的研…...

韩国Neowine车规认证加密芯片ALPU-CV
由工采网代理的ALPU-CV是韩国Neowine(纽文微)推出的一款高性能车规级加密芯片;也是ALPU系列中的高端IC,该芯片通过《AEC-Q100》认证,目前已经在国产前装车辆配件量产使用,主要用于版权license保护、设备防伪…...

【每日一题】收集巧克力
文章目录 Tag题目来源题目解读解题思路方法一:枚举操作数 写在最后 Tag 【枚举】【数组】【2023-12-28】 题目来源 2735. 收集巧克力 题目解读 有长度为 n, 下标从 0 开始的整数数组 nums, 表示收集不同类型的巧克力的成本. nums[i] 表示收集类型 i 巧克力的成本…...

【开源】基于Vue+SpringBoot的贫困地区人口信息管理系统
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 人口信息管理模块2.2 精准扶贫管理模块2.3 特殊群体管理模块2.4 案件信息管理模块2.5 物资补助模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 人口表3.2.2 扶贫表3.2.3 特殊群体表3.2.4 案件表3.2.5 物资补助表 四…...

八股文打卡day7——计算机网络(7)
面试题:HTTPS和HTTP的区别 我的回答: 1.加密方式:HTTP是明文传输;HTTPS使用了SSL/TLS进行加密传输。 2.安全性:由于HTTP是明文传输的,所以数据内容容易被第三方截获和读取。而HTTPS通过SSL/TLS进行加密传…...

南大通用数据库 GBase 8a 性能调优方法--Hash索引
南大通用数据库--GBase 8a中建立Hash Index 通常可以用来解决等值查询的定位效率,特别是对以单表精确查询为主的应用场景尤为适合,如电信业务中的并发话单查询等(特别是内存基本充足的场景)。 默认创建GLOBAL的哈希索引。创建全局…...

openFeign调用接口时传递表单参数、Json参数、HttpServletRequest对象
目录 一、控制器二、Feign客户端 openFeign调用接口时传递Json参数以及httpservletrequest对象 一、控制器 RestController RequestMapping("test") public class TestController {/*** 用来测试表单参数传递:单个参数*/PostMapping(value "/formD…...

中国人民银行总行原稽核司副司长王书刚一行莅临国鑫走访交流
12月27日,中国人民银行总行原稽核司副司长王书刚一行莅临Gooxi走访交流,Gooxi相关领导、接待人员陪同调研并汇报了公司有关情况。 中国人民银行总行原稽核司副司长王书刚一行莅临国鑫 在座谈会交流环节,Gooxi接待领导对中国人民银行行长期以来…...

单例模式学习
单例模式是应用最广的设计模式之一,也是程序员最熟悉的一个设计模式,使用单例模式的类必须保证只能有创建一个对象。 一、为什么要使用单例? 在开发过程中,很多时候一个类我们希望它只创建一个对象,比如:…...

基于Qt之QChart 图表(优美的曲线图案例)
## 项目演示 平台:ubuntu18.04 Qt版本:QT5.14.2 源码位置GitCode:https://gitcode.com/m0_45463480/QCharts/tree/main ## QChart 图表 自从 Qt 发布以来,给跨平台的用户带来很多便利。在 Qt5.7 之前,Qt 在开源社区版本里没有 Qt Charts(自带的绘图组件库)。这使得像…...

Flink1.17实战教程(第四篇:处理函数)
系列文章目录 Flink1.17实战教程(第一篇:概念、部署、架构) Flink1.17实战教程(第二篇:DataStream API) Flink1.17实战教程(第三篇:时间和窗口) Flink1.17实战教程&…...

WPF 已有资源字典文件,在xaml 里面引用
如果已经有一个资源字典文件(通常具有 .xaml 或 .resx 扩展名),您可以在 XAML 中通过 MergedDictionaries 属性引用它。MergedDictionaries 属性允许您将多个资源字典文件合并到一个资源字典中,以便在 XAML 中使用。 以下是在 XA…...

ImageJ几何测量
文章目录 距离测量批量测量 科研图像和艺术图像在处理上有一个显著的区别,就是有着定量分析的需求,ImageJ也提供了多种几何何亮工具,包括距离和角度。 距离测量 点击菜单栏File->Open Samples,打开一个示例图像Leafÿ…...
Docker 使用详解看了挺开悟的
使用docker ps命令可以查看所有正在运行中的容器列表, 使用docker inspect命令我们可以查看更详细的关于某一个容器的信息。 $ docker inspect 容器id/image[{"Id": "b57ee6bbf1f4f62a5aba6a73acd53b0f9b8ec542e1f9fa9213159ffd3828c7b4",&q…...

Superset二次开发之部署问题汇总
1.ERROR: Could not build wheels for python-geohash, which is required to install pyproject.toml-based projects # 缺少 geohash whl 文件, 下载地址 www.lfd.uci.edu/~gohlke/pythonlibs/ pip install geohash文件路径 2. AttributeError: module sqlparse.keywords has…...

Mybatis行为配置之Ⅲ—其他行为配置项说明
专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…...

高并发系统常见问题及解决方案(Java)
在 Java Web 应用中,高并发环境会带来一系列的挑战,这些挑战可能会影响应用的性能、稳定性和可用性。下面是一些常见的问题以及相应的解决方案: 1. 线程资源竞争 问题: 当多个线程尝试同时访问同一资源时,可能会导致竞争条件,进而影响数据的完整性。 解决方案: 使用同步…...

【鸿蒙千帆起】《钢岚》成为首款基于 HarmonyOS NEXT 开发的战棋新游
近日,紫龙游戏旗下 BlackJack 工作室全新战棋旗舰作品《钢岚》在华为游戏中心首发上线,并宣布《钢岚》完成鸿蒙原生应用开发,成为基于 HarmonyOS NEXT 开发的首款战棋新游,不但进一步丰富了鸿蒙生态战棋品类游戏内容,也…...

【QT】qt各模块描述
【未完待续】 QT主要版本,各个模块的作用描述。 QT5.12 版本(只有部分) qtgamepad: 提供了对游戏手柄的支持。qtandroidextras: 提供了一些特定于Android的功能。qtmacextras: 提供了一些特定于macOS的功能。qtx11extras: 提供了一些特定于X11的功能。qtsensors:…...

Go 泛型之明确使用时机与泛型实现原理
Go 泛型之明确使用时机与泛型实现原理 文章目录 Go 泛型之明确使用时机与泛型实现原理一、引入二、何时适合使用泛型?场景一:编写通用数据结构时场景二:函数操作的是 Go 原生的容器类型时场景三:不同类型实现一些方法的逻辑相同时…...

web3方向产品调研
每次互联网形态的改变,都会对世界产生很大的影响,上一次对社会产生重大影响的互联网形态(Web2.0)催生了一批改变人类生活和信息交互方式的企业。 目录 概述DAO是什么?为什么我们需要DAO? 金融服务金融桥接及周边服务D…...

【计算机视觉】角点检测(Harris、SIFT)
Harris 角点指的是窗口延任意方向移动,都有很大变化量的点。 用数学公式表示为: E(u,v)反映的移动后窗口的差异,w(x,y)为每个像素的点权值,I(xu,yv)是移动的像素值,I(x,y)是移动前的像素值。 将E(u,v)进行泰勒展开&am…...