Linux SELinux 使用操作


  • # 修改 SELinux 启动模式、临时生效
  • 命令:setenforce [0|1]
  • 0:转成 permissive 宽容模式;
  • 1:转成 Enforcing 强制模式;

  • # 查看 当前 SELinux 模式
  • 命令:getenforce

  • # 修改 SElinux 启动模式、永久生效 重启生效
  • 命令:vim /etc/selinux/config
  • # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    # enforcing - SELinux security policy is enforced.
    # permissive - SELinux prints warnings instead of enforcing.
    # disabled - No SELinux policy is loaded.
    SELINUX=enforcing
    # SELINUXTYPE= can take one of three values:
    # targeted - Targeted processes are protected,
    # minimum - Modification of targeted policy. Only selected processes are protected.
    # mls - Multi Level Security protection.
    SELINUXTYPE=targeted

    配置文件


  • # 查看 指定主体程序type类型
  • 命令:ps -eZ | grep cron
  • 解析:ps -eZ | grep 筛选主体

  • # 查看 系统系统全部 SELinux 规则的启动关闭
  • 命令:getsebool -a
  • -a:列出目前系统上面所有 SELinux 规则的布林值为开放或者关闭
  • 同功能命令:semanage boolean -l

  • # 查看 SELinux 总信息统计状态、安装包:setools-console-*
  • 命令:seinfo
  • 格式:seinfo [-trub]
  • --all:列出 SELinux 的状态、规则布林值、身份识别、角色、类别等所有信息
  • -u:列出 SELinux 的所有身份识别 uesr 种类
  • -r:列出 SELinux 的所有身份 role 种类
  • -t:列出 SELinux 的所有身份 type 种类
  • -b:列出所有规则的种类 布林值
  • Statistics for policy file: /sys/fs/selinux/policy
    Policy Version & Type: v.28 (binary, mls) Classes: 83 Permissions: 255
    Sensitivities: 1 Categories: 1024
    Types: 4620 Attributes: 357
    Users: 8 Roles: 14
    Booleans: 295 Cond. Expr.: 346
    Allow: 102249 Neverallow: 0
    Auditallow: 160 Dontaudit: 8413
    Type_trans: 16863 Type_change: 74
    Type_member: 35 Role allow: 30
    Role_trans: 412 Range_trans: 5439
    ....(底下省略)....
    # 從上面我們可以看到這個政策是 targeted ,此政策的安全本文類別有 4620 個;
    # 而各種 SELinux 的規則 (Booleans) 共制訂了 295 條!

    输出信息


  • # 查看 指定type类型再 SELinux 中被赋予的权限规则
  • 命令1:sesearch -A -s crond_t | grep spool
  • 解析:sesearch -A -s 主体type | grep 塞选字段
  • 命令2:sesearch -A -b httpd_enable_homedirs
  • 解析:sesearch -A -b 布林值
  • 格式:sesearch [-A] [-s 主体类别=程序type] [-t 目标类别] [-b 布林值=文件目录type]
  • -A:列出读取或放行的相关信息
  •    allow crond_t system_cron_spool_t : file { ioctl read write create getattr ..
    allow crond_t system_cron_spool_t : dir { ioctl read getattr lock search op..
    allow crond_t user_cron_spool_t : file { ioctl read write create getattr se..
    allow crond_t user_cron_spool_t : dir { ioctl read write getattr lock add_n..
    allow crond_t user_cron_spool_t : lnk_file { read getattr } ;

    输出信息


  • # 查看 文件目录或程序的 SELinux 权限信息
  • 命令:ll -Z 文件/目录
  • 命令:ls -Z 文件/目录

  • # 关闭/启动 SElinux type 规则
  • 命令:setsebool -P httpd_enable_homedirs   
  • 解析:setsebool -P 规则  1 
  • 格式:setsebool [-P] 『规则名称』 [0|1]
  • -P:直接将设定值写入文件,永久生效。
  • 1:打开
  • 0:关闭

  • # 修改 SELinux 文件主体,角色,类型、通过示例文件实现
  • 命令:chcon -v --reference=/etc/shadow  /etc/cron.d/checktime
  • 解析:chcon -v --reference=示例文件目录  赋值文件目录
  • 格式1:chcon [-R] [-t type] [-u user] [-r role] 目录文件
  • 格式2:chcon [-R] --reference=示例目录文件 目录文件
  • -R:连同子目录同时修改。
  • -t:后面接type类型。列如:httpd_sys_content_t。
  • -u:后面接身份识别。列如:system_u。
  • -r:后面跟角色,列如:system_r。
  • -v:若有变化成功,请将变动的结果列出来
  • --reference=示例目录文件:拿某个文件目录来修订改动后续接的文件目录类型。

  • # 恢复 SELinux 赋值的默认预设权限及目录
  • 命令:restorecon -Rv /etc/cron.d
  • 解析:restorecon -Rv 文件目录
  • 格式:restorecon [-Rv] 檔案或目錄
  • -R:连同子目录同事修改。
  • -v:将过程打印到终端。

  • # 查看 筛选 SELinux 下指定类型规则的作用范围
  • 命令:semanage fcontext -l | grep '^/srv/mycron'
  • 解析:semanage fcontext -l | grep 作用范围
  • # 添加 SELinux 预设type类型
  • 命令:semanage fcontext -a -t system_cron_spool_t "/srv/mycron(/.*)?"
  • 解析:semanage fcontext -a -t type规则  作用范围
  • 格式1:semanage {login|user|port|interface|fcontext|translation} -l
  • 格式2:semanage fcontext -{a|d|m} [-frst] file_spec
  • fcontext:主要用在安全性文本方面的用途。
  • -l:为查询的意思。
  • -a:增加的意思,你可以增加一些目录的预设的安全性文本预设。
  • -m:修改的意思。
  • -d:删除的意思。

  • # 查看 SElinux 日志服务监控是否安装
  • 命令:rpm -qa | grep setroubleshoot
  • 安装服务名称:auditd、setroubleshootd

Linux SELinux 使用操作的更多相关文章

  1. Linux 图形化操作

    //Linux图形化操作 #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...

  2. linux shell 字符串操作(长度,查找,替换)详解

    linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系 ...

  3. linux C 数组操作

    /****************************************************************** * linux C 数组操作 * 声明: * 本文为解决陈颖奇遇 ...

  4. Linux应用层直接操作GPIO

    Linux应用层直接操作GPIO 在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低.这个大大地提高了灵活性,官方的文档有GPIO Sysfs Inter ...

  5. Linux C语言操作MySQL

    原文:Linux C语言操作MySQL 1.MySQL数据库简介 MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源.MySQL有以下特性: (1) 使用C和C++编写, ...

  6. 使用c语言实现linux数据库的操作

    前言:上一篇讲解了linux下使用命令行操作数据库,这篇继续讲解怎么使用c语言实现linux数据库的操作. 使用c语言实现环境搭建:既然我们要使用c语言实现linux数据库操作,那么首先我们得先把数据 ...

  7. 看完这篇Linux基本的操作就会了

    前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位.总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要是总结Linux的基础操作以及一些简单的概念~如 ...

  8. Python_基于Python同Linux进行交互式操作实现通过堡垒机访问目标机

    基于Python同Linux进行交互式操作实现通过堡垒机访问目标机   by:授客 QQ:1033553122 欢迎加入全国软件测试交流群:7156436 实现功能 1 测试环境 1 代码实践 2 注 ...

  9. Linux内核 GPIO操作部分API

    内核中关于GPIO的操作API主要集中在<linux/of_gpio.h>和<linux/gpio.h>中,前者主要是GPIO直接与设备树相关的操作,在Linux 设备树操作A ...

随机推荐

  1. Python中最常用的字符串方法!

    字符串是字符序列.Python中内置的string类代表基于Unicode国际字符集的字符串.除了Python中常见的操作外,字符串还有一些专属于它们的附加方法.下图显示了所有这些可用的方法: Pyt ...

  2. Python绘图还在用Matplotlib?out了 !发现一款手绘可视化神器!

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. GitHub 地址:https://github.com/chenjian ...

  3. 如何搭建属于自己的Web服务器

    如今随着计算机和互联网技术的发展,上网现在已经不再是什么难事,打开浏览器,我们可以访问各种论坛站点,比如CSDN.博客园等,各种视频网站,例如爱奇艺,B站等.在网上我们可以写文章,看视频,购物,打游戏 ...

  4. Java生鲜电商平台-商城后台架构与原型图实战

    Java生鲜电商平台-商城后台架构与原型图实战 说明:生鲜电商平台的运营平台,其中需要很多的功能进行管理.目前把架构与原型图实战分享给大家,希望对大家有用. 仪表盘/首页,简单统计,报表页,运营快捷口 ...

  5. 【hexo+github搭建myblog】bash: npm: command not found 问题,疑似解决!关键词:NPM全局安装路径

    情况:打算用hexo+github搭建个人博客 1. hexo搭建,参考博文如下,非常感谢: Hexo+Github博客搭建完全教程 hexo从零开始到搭建完整 问题: 在最基本的安装步骤 (参考链接 ...

  6. JavaScript 数学

    JavaScript Math 数学 神奇的圆周率 Math.PI ; // 返回 3.1415926535-- Math 数学方法 Math.round() Math.round(X):返回 X 的 ...

  7. Mybatis中动态SQL语句中的parameterType不同数据类型的用法

    Mybatis中动态SQL语句中的parameterType不同数据类型的用法1. 简单数据类型,    此时#{id,jdbcType=INTEGER}中id可以取任意名字如#{a,jdbcType ...

  8. Dynamics 365中计算字段与Now进行计算实体导入报错:You can't use Now(), which is of type DateTime, with the current function.

    微软动态CRM专家罗勇 ,回复338或者20190521可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me. 计算字段是从Dynamics CRM 2015 SP1版本开始推 ...

  9. 联邦学习 Federated Learning 相关资料整理

    本文链接:https://blog.csdn.net/Sinsa110/article/details/90697728代码微众银行+杨强教授团队的联邦学习FATE框架代码:https://githu ...

  10. sudo apt-get 与 yum 常用命令

    yum -RedHat:CentOS... -xxx.rpmsudo apt-get  -Debian:Ubuntu...   -xxx.deb 安装工具rpm -ivh yum-2.0.4-1.rh ...