使RHEL5.1支持编译refpolicy源码

Yocto边玩边学:BitBake中的优先选择变量PREFERRED_PROVIDER 当有多个菜谱提供同一个项目时,BitBake会使用PREFERRED_PROVIDER来优先选择其中一个菜谱。你需要在变量后缀指定被提供项目的名称,并将其设置为你想优先使用的配方的PN。这里是一些例子: PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" PREFERRED_PROVIDER_virtual/xserver = "xserver-xf86" PREFERRED_PROVIDER_virtual/libgl ?= 阅读详情
 

之前在RHEL5.1上使用自己编译的refpolicy二进制策略模块从来都是失败的。一般失败的情况有两种,第一种是设置/etc/selinux/config为Permissive后,重启后SELinux状态变成Disabled;第二种是设置为Enforcing,重启后无法进入系统。

究竟是什么原因,是我配置错误?经过在搜索引擎上的多番寻找,终于找到解决问题的方法。可能它不是完美的,但至少是行得通的。

步骤一:确保安装gcc。
编译refpolicy时要用到。

步骤二:更新内核版本。
查看RHEL5.1使用的内核安装包:
# rpm -qa|grep kernel
RHEL5.1默认的内核安装包为kernel-xen-2.6.18-53.el5,RHEL5.2默认为kernel-xen-2.6.18-92.el5,RHEL5.6为kernel-xen-2.6.18-238.el5。我是怎么知道的?因为一般内核的安装包都在安装盘的disc1里,然后这些版本我其实下过,所以我知道。都是xen-2.6.18的,更新为RHEL5.6的内核吧。更新内核不要更太新了,不然可能不能支持原来已安装的软件包。
想办法去下kernel-xen-2.6.18-238.el5.rpm及kernel-headers-2.6.18-238.el5.rpm。kernel-headers是gcc的一个依赖包,包含系统头文件。可以像我这样下整个ISO文件的,也可以另外单独下,如果找得到的话。千万不要下CentOS的,CentOS的内核安装包也叫kernel-xen-2.6.18-238.el5.rpm,但是是重新定制过的。下到这两个包后务必验证其MD5值:
http://rhn.redhat.com/errata/RHSA-2011-0017.html
之后更新内核:
# rpm -Uvh kernel-headers-2.6.18-238.el5.rpm
# rpm -Uvh kernel-xen-2.6.18-238.el5.rpm
重启后内核更新生效。

步骤三:安装refpolicy。
去官网下载refpolicy-20081014.tar.bz2这个压缩档。因为之后更新的refpolicy都为版本2了,要求更高版本内核及SELinux。
http://oss.tresys.com/projects/refpolicy/wiki/DownloadRelease
解压压缩档:
# bzip2 -d refpolicy-20081014.tar.bz2
# tar -xvf refpolicy-20081014.tar
进入解压出来的refpolicy目录,安装refpolicy:
# make install-src

步骤四:编译refpolicy策略。
关闭selinux:
# setenforce 0
进入/etc/selinux/refpolicy/src/policy目录,编辑build.conf文件,将“#DISTRO = redhat”前的井号去掉,将“DIRECT_INITRC = n”n改为y。
生成refpolicy配置文件:
# make conf
生成refpolicy策略:
# make install
编辑/etc/selinux/config文件,将“SELINUXTYPE”设为“refpolicy”。并设定下次系统启动期间重标记整个文件系统:
# touch /.autorelabel
重启后refpolicy策略就生效了。

小记:解决问题的方法是找到了。分析RHEL5.1不支持refpolicy的原因,我认为一共有2个:
一个是红帽提供的refpolicy源码问题。RHEL5.1默认使用的策略源码存在于selinux-policy-2.4.6-104.el5.src.rpm包中,不知道是哪个版本的refpolicy。之前我一直觉得这东西应该配套,就只用这个rpm包里解压出来的refpolicy,文件名为serefpolicy-2.4.6.tgz,但编译出来的策略一直报安全上下文的错。使用官方版本的refpolicy显然没有这一问题。进一步测试发现,从selinux-policy-2.4.6-104.el5.src.rpm到selinux-policy-2.4.6-316.el5.src.rpm解压出来的serefpolicy-2.4.6.tgz的MD5都是一样的。说明不能直接使用这个策略源码,要使用rpmbulid为这个策略源码打上补丁。而我之前怕麻烦,直接使用rpm2cpio命令解压rpm的源代码包,然后直接使用serefpolicy-2.4.6.tgz,皆失败。
另一个是2.6.18-53版本的内核在支持refpolicy上存在BUG。RHEL5.1默认的targeted模式其实是targeted-mls模式,可以使用seinfo这个命令看出来。而BUG就是内核不支持SELinux从mls或mcs的模式转换到非mls、非mcs的模式。refpolicy默认的模式就是一个非mls、非mcs模式。故在应用refpolicy策略上存在无法转换模式的问题。因此,若不升级RHEL5.1的内核,在build.conf文件中选择mls模式是没有问题的。
就是这两个BUG搞了花了我两周时间去探究,终于可以搭建一个学习SELinux的环境了。。。

SELinux参考策略实战:从零构建自定义应用安全策略 强制访问控制(MAC)是Linux系统安全的核心机制之一,它通过为每个进程和资源分配安全上下文,并基于策略规则严格限制访问权限,实现了超越传统自主访问控制(DAC)的纵深防御。SELinux作为Linux内核中最成熟的MAC实现,其技术价值在于通过最小权限原则,即使应用或服务被攻破,也能将损害控制在最小范围,广泛应用于金融、政务、云原生等对安全有苛刻要求的场景。然而,直接编写SELinux原生策略语言复杂且易错。SELinux参考策略项目为此提供了标准化的策略框架与模块库,它将底层复杂规则封装为可调用的接口 阅读详情

相关推荐

selinux交叉编译

交叉编译selinux及其依赖lib

linux配置selinux为许可模式,Selinux配置详解

这样,在/etc/selinux/refpolicy/src/policy下生成很多的以pp为后缀的文件,这些就是SELinux模块。接下来我们修改/etc/sysconfig/selinux,设成SELINUXTYPE=refpolicy,然后reboot.启动后,确认策略的适用情况, 现在的版本是20。[fu@python ~]$ /usr/sbin/sestatusSELinux statu...

weixin_35892206的博客 1095

核磁分析必备,ACD/Labs软件使用全解析

核磁共振(NMR)是化学分析中的重要工具,而ACD/Labs提供了一套强大的软件解决方案。从实验设计到数据解读,ACD/Labs 的 NMR 预测可以显著加快您的工作流程。使用 ACD/NMR 预测可以:根据化学结构预测 1H、13C、15N、19F 和 31P 核的全套 1D 和 2D NMR 光谱;在几秒钟内计算化学位移和耦合常数;利用内部数据训练算法,提高新化学空间的准确性。

a13981820402的博客 5637

SELinux refpolicy详解(8)

SELinux refpolicy详解(8)

phmatthaus的专栏 1347

wpf入门第五篇 WPF with ECharts

前言 本文是wpf入门系列第五篇,面向有winform或者web前端基础的、并且也有C#基础的同学。 ECharts是百度团队开发的开源免费的js图表控件库,非常强大,文档齐全。WPF中使用图表,除了可以选择devexpress或者oxyplot之类的专为wpf开发的图表控件之外,还可以考虑使用 WebBrowser+ECharts 来完成复杂的图表展示,其展示效果不亚于前者。 本文介绍了 WP...

wf824284257的博客 1万+

当交警手势遇见边缘计算:轻量化手势识别系统的落地挑战

本文探讨了边缘计算环境下交警手势识别系统的技术挑战与解决方案,结合OpenPose和LSTM算法优化,实现轻量化部署。通过深度可分离卷积、量化感知训练等技术创新,在算力受限的边缘设备上达到高效实时识别,为智能交通系统提供可靠支持。

weixin_29079671的博客 637

SEAndroid策略

基础知识 SEAndroid在架构和机制上与SELinux完全一样,考虑到移动设备的特点,所以移植到SEAndroid的只是SELinux的一个子集。SEAndroid的安全检查覆盖了所有重要的方面包括了域转换、类型转换、进程相关操作、内核相关操作、文件目录相关操作、文件系统相关操作、对设备相关操作、对app相关操作、对网络相关操作、对IPC相关操作。 Policy po...

移动编程 784

Cursor+Playwright MCP实现UI全自动化,告别繁琐元素定位!

摘要:本文探讨了利用Cursor和PlaywrightMCP实现UI自动化测试的创新方法。通过将AI编程助手与浏览器自动化技术结合,解决了传统UI自动化测试中元素定位繁琐、维护成本高等痛点。文章详细介绍了项目架构设计、AI使用技巧(包括精准提问和编写.mdc规则文档),以及如何实现自然语言测试用例到自动化脚本的转换。最终实现了测试人员只需输入手工测试步骤,AI即可自动生成完整测试代码的智能化流程,并展望了通过Excel表格一键生成测试用例的未来发展方向,为UI自动化测试提供了高效解决方案。

baidu_29774881的博客 2796

Selinux小结

目 录 前绪    2 一、Selinux基础概述    2 二、什么是Selinux?    2 三、SELinux Policy语言    3 1、安全属性——SContext    3 2、TE简介    4 1). 客体类别和许可:    4 2). 访问向量规则:    5 3). AV规则    5 四、SElinux策略文件

~山之歌~ 1万+

Figma到Axure一键转换:Axhub Extension保姆级教程(含常见问题解决)

本文提供Axhub Extension的保姆级教程,详细讲解如何将Figma设计稿一键转换为Axure高保真交互原型。教程涵盖环境准备、核心转换四步走流程,并重点解决JSON导入失败、样式错乱、复杂组件转换等常见问题,旨在打通Figma与Axure之间的数据孤岛,大幅提升设计师和产品经理的原型制作效率。

night的博客 1577

duilib 之 事件--bubbled冒泡事件应用、通用点击事件、进入离开事件、XML样式中直接添加事件

1. box 绑定点击事件 ui::Box *pSmallVideoBox = (ui::Box*)FindControl(L"rightBox"); if (pSmallVideoBox) { auto SwitchVideo = [this](ui::EventArgs* param){ m_bSecScreenIsScale = m_bMainScre...

目前打算换一个工作,有招聘windows c++方向的也欢迎联系,北京、济南 最好 973

SELinux 秘籍(一)

SELinux 被认为是一个难以驯服的庞然大物。对许多人来说,它被视为一个复杂的安全系统,而 Linux 本身就是一个多功能的环境。但是,正如大多数 IT 相关服务一样,正是对这项技术的不熟悉造成了对系统复杂性的误解。然而,情况并非如此。SELinux 并不像看起来那样难以理解。如果它真有那么难,那么像 Red Hat Enterprise Linux 这样的 Linux 发行版就不会默认启用它了。为了支持大家在日常操作中使用启用 SELinux 的系统,本书应运而生。

龙哥盟 1124

【CANoe】CAPL_ECU上电后首帧报文发出时间检测

【CANoe】CAPL_ECU上电后首帧报文发出时间检测,通过CANoe I/O口检测电压实现

星Yeah 的博客 2512

开源项目refpolicy常见问题解决方案

开源项目refpolicy常见问题解决方案 项目基础介绍 refpolicy 是一个为 SELinux(安全增强型 Linux)提供参考策略的开源项目。它定义了如何管理进程权限,以确保系统的安全性和完整性。该项目主要由 C 语言编写,同时也涉及一些 Makefile 脚本以及配置文件。 新手常见问题及解决步骤 问题一:如何安装refpolicy 问题描述:新手用户可能不清楚如何正确安装refpol...

gitblog_00065的博客 509

swl安装无法与服务器建立链接,如何解决?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 2079

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SELinux refpolicy详解(7)

SELinux refpolicy详解(7)

phmatthaus的专栏 842

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SELinux refpolicy详解(9)

SELinux refpolicy详解(9)

phmatthaus的专栏 1561

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SELinux简介

1. 简介     SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux® 上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux

MyArrow的专栏 8263

SELinux refpolicy详解(6)

SELinux refpolicy详解(6)

phmatthaus的专栏 1591

SELinux refpolicy详解(14)

SELinux refpolicy详解(14)

phmatthaus的专栏 796

selinux移植调试记录

由于近期在做的一个linux项目要上selinux功能,驱动上倒是问题不多,但是在配置权限时真的是各种难搞的问题,现在经过公司cybersecurity专家的不懈努力,总算是有所进展,做个记录。

UUUUUltraman的博客 1347

refpolicy

RHEL官方镜像点: ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/ 策略源码下载地址: http://oss.tresys.com/projects/refpolicy/wiki/DownloadRelease 策略编写教程: http://oss.tresys.com/projects/ref

Endoresu的专栏 1203

SELinux refpolicy详解(13)

SELinux refpolicy详解(13)

phmatthaus的专栏 1492

Selinux配置详解

<br />    1.背景<br />    SELinux是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)开发的 Linux的一个扩张强制访问控制安全模块。原先是在Fluke上开发的,2000年以 GNU GPL 发布。<br />    现在以Linux作为因特网服务器是越来越普遍的事了。在我这几年作过的项目里,WEB的开发基本都是基于L

seanchan的专栏 1016

Linux之进程管理--特殊进程与SELinux初识

温故: 知新: 上一篇文章中讲述了常见进程管理的命令,今天主要给大家讲一讲特殊的进程以及SELinux,关于SELiunux今天只是初步学习,不会深讲,有兴趣的就等一等,后面我会详细讲解。 一、特殊文件与进程 这里就要提到文件的特殊权限了,其实在前面的文章中已经讲过了文件的权限的知识,就是rwx这三个权限,但是还有其他特殊的权限比如s 或 t。进而就说到了SUID和SGID、SBIT。因为前面没有细讲,所以这里还是需要说一说的,不然就无法了解清楚这些权限是如何影响进程的。 首先咱们先...

Gao068465的博客 504

selinux第一节

(一):selinux简介 selinux是security enhancement linux的简称,从字面意思说就是安全增强型linux,这种增强能够有效的减轻 有缺陷的应用软件所出现的问题,包括那些没有被发现的或者是被创建的缺陷。同时,这种增强也能够强化很多安全 目标,从数据保密到应用集成来提高其健壮性。 (二):DAC和MAC 1): 在早期的操作系统中几乎是没有安全方面的考虑...

hongbochen1223的专栏 490
上一篇: mysql用法总结
下一篇: RHEL升级内核版本
Endoresu
博客等级 码龄16年 15粉丝 21原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值