IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> openwrt19.07移植selinux -> 正文阅读

[系统运维]openwrt19.07移植selinux

移植步骤

  1. 检查openwrt19.07是否存在selinux相关的配置。

检查package目录及子目录是否有selinux-policy、checkpolicy、policycoreutils、libselinux、setools、libsemanage等selinux相关的配置文件。

没有则需要从openwrt官方网站或其他地方下载并拷贝到相应的目录。(GitHub - openwrt/packages at openwrt-21.02)。

  1. 通过 make menuconfig命令去配置selinux。不建议直接修改.config文件,通过make menuconfig配置selinux可以自动配置相关依赖选项。

  1. 在保存退出menuconfig后,如果有WARNING信息,检查是否有selinux相关的信息。若有selinux相关WARNING则分析警告信息。主要会告诉编译相关模块的所依赖的库文件或工具,则需要根据信息继续添加依赖的库或工具。
  2. 执行“make menuconfig”命令,重复执行步骤3,直到无selinux相关模块的WARNING信息。(若未添加依赖,在编译过程中也会报错提示)

例:下图的WARNING中显示编译policycoreutils需要依赖libaudit; selinux-python需要依赖setools。

  1. 保存menuconfig然后运行make命令编译。

注意事项

  1. 在make menuconfig后并非所有的WARNING信息都需要解决,若没有编译相关模块则可以不用关心。
  2. 在从openwrt21复制selinux相关模块时,应注意检查Makefile中的include所指路径是否正确,若不正确需要修改为正确的路径。
  3. 在从openwrt21复制selinux相关模块时,文件存放路径应尽量与openwrt21路径一致。
  4. Selinux相关工具的压缩包,若有现成的,直接拷贝到dl/目录下,可以减少编译前下载相关压缩包的时间。
  5. 在修改selinux规则后,把编译生成的policy.33(不同版本可能后面的数字不同,如policy.19)替换文件系统下/etc/selinux/targeted/policy/policy.33,运行load_policy命令就能把修改规则load到当前系统。

遇到的问题:

1. Package xxx is missing dependencies for the following libraries: xxx

解决方法:添加相应的lib库到packages目录中去。

2.编译出来的系统起来之后无/sys/fs/selinux/目录,且修改/etc/selinux/config中的状态无效。

解决方法:检查内核是否配置selinux,运行make kernel_menuconfig命令配置NSA SELinux Support enable,在配置SELinux Support enable需要依赖Audit与security。

①.General setup->Auditing support

②.Security options->Enable different security models

  • . Security options->NSA SELinux Support

3.在系统中/etc/selinux/targeted/seuser文件可完成linux用户和SElinux用户的映射。如下图seuser文件中的第一个root对应的Linux用,第二个root对应的是SELinux用户。seuser中定义每个登录用户SELinux用户,如果不想为每一个用户都定义SELinux用户,可以使用__default__指定未定义SELinux用户时使用的默认SELinux用户名。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:53:58  更:2022-03-03 16:55:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:40:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码