SELinux refpolicy详解(9)

接前一篇文章:SELinux refpolicy详解(8)

三、refpolicy内容详解

上一回讲解了refpolicy源码根目录下的build.conf文件的前一部分内容。本回继续讲解其后一部分。

2. build.conf

文件路径:refpolicy源码根目录/build.conf。

文件内容如下:

########################################
#
# Policy build options
## Policy version
# By default, checkpolicy will create the highest
# version policy it supports.  Setting this will
# override the version.  This only has an
# effect for monolithic policies.
#OUTPUT_POLICY = 33# Policy Type
# standard, mls, mcs
TYPE = standard# Policy Name
# If set, this will be used as the policy
# name.  Otherwise the policy type will be
# used for the name.
NAME = refpolicy# Distribution
# Some distributions have portions of policy
# for programs or configurations specific to the
# distribution.  Setting this will enable options
# for the distribution.
# redhat, gentoo, debian, suse, and rhel4 are current options.
# Fedora users should enable redhat.
#DISTRO = redhat# Unknown Permissions Handling
# The behavior for handling permissions defined in the
# kernel but missing from the policy.  The permissions
# can either be allowed, denied, or the policy loading
# can be rejected.
# allow, deny, and reject are current options.
UNK_PERMS = deny# Direct admin init
# Setting this will allow sysadm to directly
# run init scripts, instead of requiring run_init.
# This is a build option, as role transitions do
# not work in conditional policy.
DIRECT_INITRC = n# Systemd
# Setting this will configure systemd as the init system.
SYSTEMD = n# Build monolithic policy.  Putting y here
# will build a monolithic policy.
MONOLITHIC = n# User-based access control (UBAC)
# Enable UBAC for role separations.
UBAC = y# Custom build options.  This field enables custom
# build options.  Putting foo here will enable
# build option blocks named foo.  Options should be
# separated by spaces.
CUSTOM_BUILDOPT =# Number of MLS Sensitivities
# The sensitivities will be s0 to s(MLS_SENS-1).
# Dominance will be in increasing numerical order
# with s0 being lowest.
MLS_SENS = 16# Number of MLS Categories
# The categories will be c0 to c(MLS_CATS-1).
MLS_CATS = 1024# Number of MCS Categories
# The categories will be c0 to c(MLS_CATS-1).
MCS_CATS = 1024# Set this to y to only display status messages
# during build.
QUIET = n# Set this to treat warnings as errors.
WERROR = n

策略构建选项:

  • DIRECT_INITRC

直接管理初始化。

设置此选项将允许sysadm直接运行init脚本,而不需要run_init。

这是一个构建选项,因为角色转换在条件策略中不起作用。

README中的讲解:

布尔(类型)。

如果设置(为y),sysadm将被允许直接运行init脚本,而不需要run_init工具。

这是一个构建选项,而不是可调的,因为角色转换在条件策略中不起作用。

此选项控制direct_sysadm_demon策略块。

注:此项在build.conf中默认设置为n。

对应代码片段:

# Direct admin init
# Setting this will allow sysadm to directly
# run init scripts, instead of requiring run_init.
# This is a build option, as role transitions do
# not work in conditional policy.
DIRECT_INITRC = n
  • SYSTEMD

Systemd。

设置此项将把systemd配置为init系统。

README中的讲解:

布尔(类型)。

如果设置,则systemd将被假定为init进程的提供者。

注:此项在build.conf中默认设置为n。

对应代码片段:

# Systemd
# Setting this will configure systemd as the init system.
SYSTEMD = n
  • MONOLITHIC

构建单一整体策略。

把y放在这里将建立一个单一整体的策略。

README中的讲解:

布尔(类型)。

如果设置(为y),则构建一个单一整体策略;否则(为n)构建一个模块化策略。

注:此项在build.conf中默认设置为n。

对应代码片段:

# Build monolithic policy.  Putting y here
# will build a monolithic policy.
MONOLITHIC = n
  • UBAC

基于用户的访问控制(UBAC)。

为角色分离启用UBAC。

README中的讲解:

布尔(类型)。

如果设置,SELinux用户将额外用于近似的角色分离。

注:此项在build.conf中默认设置为y。

 对应代码片段:

# User-based access control (UBAC)
# Enable UBAC for role separations.
UBAC = y
  • CUSTOM_BUILDOPT

自定义生成选项。

此字段启用自定义生成选项。

在此处放置foo将启用名为foo的构建选项块。选项应该用空格分隔。

README中的讲解:

无。

对应代码片段:

# Custom build options.  This field enables custom
# build options.  Putting foo here will enable
# build option blocks named foo.  Options should be
# separated by spaces.
CUSTOM_BUILDOPT =
  • MLS_SENS

MLS敏感度的数量。

灵敏度为s0到s(MLS_SENS-1)。

优势将以数字顺序递增,s0最低。

README中的讲解:

整数(类型)。

设置MLS策略中的敏感度数量。在standard和MCS策略忽略此项。

注:此项在build.conf中默认设置为16。

对应代码片段:

# Number of MLS Sensitivities
# The sensitivities will be s0 to s(MLS_SENS-1).
# Dominance will be in increasing numerical order
# with s0 being lowest.
MLS_SENS = 16
  • MLS_CATS

MLS类别的数量。

类别为c0到c(MLS_CATS-1)。

README中的讲解:

整数(类型)。

设置MLS策略中的类别数。在standard和MCS策略忽略此项。

注:此项在build.conf中默认设置为1024。

对应代码片段:

# Number of MLS Categories
# The categories will be c0 to c(MLS_CATS-1).
MLS_CATS = 1024
  • MCS_CATS

MCS类别的数量。

类别为c0到c(MCS_CATS-1)。

README中的讲解:

整数(类型)。

设置MCS策略中的类别数。在standard和MLS策略中忽略此项。

注:此项在build.conf中默认设置为1024。

对应代码片段:

# Number of MCS Categories
# The categories will be c0 to c(MLS_CATS-1).
MCS_CATS = 1024
  • QUIET

将此值设置为y可在构建期间仅显示状态消息。

README中的讲解:

布尔(类型)。

如果设置,则构建系统将仅显示状态消息和错误消息。此选项对策略没有影响。

注:此项在build.conf中默认设置为n。

对应代码片段:

# Set this to y to only display status messages
# during build.
QUIET = n
  • WERROR

若此项设置,则将警告视为错误。

README中的讲解:

布尔(类型)。

如果设置,则构建系统将把警告视为错误。如果遇到任何警告,则构建将失败。

注:此项在build.conf中默认设置为n。

对应代码片段:

# Set this to treat warnings as errors.
WERROR = n

至此,build.conf文件就全部讲解完了。

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

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

相关文章

麒麟系统添加环境变量

环境变量添加方法 方法一:用户主目录下的.profile或.bashrc文件(推荐) 登录到你的用户(非root),在终端输入: sudo vim ~/.profile 或者 sudo vim ~/.bashrc 翻到该文件最后&#xff0c…

电容和电感

一、电感 1)图片 2)作用 a)储存容量 例如dcdc转换器的原理,将一个电压值转换成另外一个电压值 b)选择信号 比如空气中弥漫着很多信号,我们应该怎么选取我们所需要的信号。 电感和电容可以看成一个电阻,当电…

JAVA代码优化:CompletableFuture(异步编程解决方案)

server层代码需要查询四个sql语句,但全都由主线程执行。 CompletableFuture可以分出多个子线程执行 CompletableFuture(并行处理多个异步任务) 1.通过CompletableFuture.supplyAsync()方法创建了三个CompletableFuture实例,分别…

PTA结构体经典编程题

目录 第一题:计算平均成绩 第二题:平面向量加法 第三题:查找书籍 第四题:通讯录排序 第五题:计算职工工资 第一题:计算平均成绩 思路:看到一个学生的基本信息,所以定义一个结构…

神经网络模型预训练

根据神经网络各个层的计算逻辑用程序实现相关的计算,主要是:前向传播计算、反向传播计算、损失计算、精确度计算等,并提供保存超参数到文件中。 # coding: utf-8 import sys, os sys.path.append(os.pardir) # 为了导入父目录的文件而进行的…

【Python百练——第3练】矩形类及操作

💐作者:insist-- 💐个人主页:insist-- 的个人主页 理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里 ❤️欢迎点…

OracleRac跨网段修改Public IP/VIP/Private IP/Scan IP

本验证于测试环境,生产操作需谨慎 现为测试环境,机器有且仅有两个网卡存在,需求修改Public IP/VIP/Private IP/Scan IP,把Public IP/VIP/Scan IP的网段改为Private IP的网段,Private IP于Public IP网段互换。 先停掉两…

Golang 原生Rpc Server实现

Golang 原生Rpc Server实现 引言源码解析服务端数据结构服务注册请求处理 客户端数据结构建立连接请求调用 延伸异步调用定制服务名采用TPC协议建立连接自定义编码格式自定义服务器 参考 引言 本文我们来看看golang原生rpc库的实现 , 首先来看一下golang rpc库的demo案例: 服…

python的制图

测试数据示例: day report_user_cnt report_user_cnt_2 label 2023-10-01 3 3 欺诈 2023-10-02 2 4 欺诈 2023-10-03 6 5 欺诈 2023-10-04 2 1 正常 2023-10-05 4 3 正常 2023-10-06 4 4 正常 2023-10-07 2 6 正常 2023-10-08 3 7 正常 2023-10-09 3 12 正常 2023-…

C#学习 - 事件 续

事件声明 完整声明 using System;namespace ConsoleApp1 {internal class Program{static void Main(string[] args){Customer customer new Customer();Waiter waiter new Waiter();customer.Order waiter.Action;customer.Action();//这里也能直接写MyOrdercustomer.Pay…

python爬虫之创建属于自己的ip代理池

在后续需求数据量比较大的情况下,自建一个ip代理池可以帮助我们获得更多的数据。 下面我来介绍一下整个过程 1.找到目标代理网站 https://www.dailiservers.com/go/webshare https://proxyscrape.com/ https://spys.one/ https://free-proxy-list.net/ http://fr…

找不到DNS地址的解决方案

找不到DNS地址的解决方案 第一种解决方案:刷新DNS缓存第二种解决方案: 配置Internet协议版本4(TCP/IPv4)配置IP地址配置DNS地址 如何查看本机IPv4地址、子网掩码与默认网关 第一种解决方案:刷新DNS缓存 WINR输入cmd回…

基于SSH三大框架的员工管理系统

基于SSH三大框架的员工管理系统 摘要 本系统为本人学习SSH三大框架时所做的整合实例,系统角色包括普通用户和管理员两种,首页有管理员登录入口链接。系统功能主要包括管理员对用户的基本增、删、改、查和分页显示用户信息等。 系统环境 本系统使用ec…

【C++练级之路】【Lv.1】C++,启动!(命名空间,缺省参数,函数重载,引用,内联函数,auto,范围for,nullptr)

目录 引言入门须知一、命名空间1.1 作用域限定符1.2 命名空间的意义1.3 命名空间的定义1.4 命名空间的使用 二、C输入&输出2.1 cout输出2.2 cin输入2.3 std命名空间的使用惯例 三、缺省参数3.1 缺省参数概念3.2 缺省参数分类 四、函数重载4.1 函数重载概念4.2 函数重载分类…

BUUCTF 间谍启示录 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 在城际公路的小道上,罪犯G正在被警方追赶。警官X眼看他正要逃脱,于是不得已开枪击中了罪犯G。罪犯G情急之下将一个物体抛到了前方湍急的河流中,便头一歪突然倒地。警官X接近一看&…

公平锁和非公平锁以及他们的实现原理是什么

文章目录 什么是非公平锁和公平锁呢?我们来看看acquire(1)的源码如下:这里的判断条件主要做两件事:在tryAcquire()方法中,主要是做了以下几件事:公平锁的tryAcquire(),实现的原理图如下:我们来看…

ORA-00257: archiver error. Connect internal only, until freed 的解决方法

归档文件存储空间不足,导致出现该问题。 当我们将数据库的模式修改为归档模式的时候,如果没有指定归档目录,默认的归档文件就会放到Flash Recovery Area的目录,但是这个目录是有大小限制的,如果超过了这个大小&#x…

C#基础学习--命名空间和程序集

引用其他程序集 编译器接受源代码文件并生成一个名为程序集的输出文件。 在许多项目中,会想使用来自其他程序集的类或类型。这些程序集可能来自BCL或第三方供应商,或者自己创建的。这些程序集称为类库,而且它们的程序集文件的名称通常以dll…

微信小程序组件与插件有啥区别?怎么用?

目录 一、微信小程序介绍 二、微信小程序组件 三、微信小程序插件 四、微信小程序组件与插件有啥区别 一、微信小程序介绍 微信小程序是一种基于微信平台的应用程序,它可以在微信客户端内直接运行,无需下载和安装。微信小程序具有轻量、便捷、跨平台…

对比ProtoBuf和JSON的序列化和反序列化能力

1.序列化能力对比验证 在这里让我们分别使用PB与JSON的序列化与反序列化能力,对值完全相同的一份结构化数据进行不同次数的性能测试。 为了可读性,下面这一份文本使用JSON格式展示了需要被进行测试的结构化数据内容: {"age" : 20,"name…