zoukankan      html  css  js  c++  java
  • Linux SELinux 使用操作

    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  1 
    • 解析:setsebool -P 规则 
    • 格式: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

  • 相关阅读:
    理解glance
    基于Kubernetes(k8s)的RabbitMQ 集群
    docker最佳实践-----美团点评的分享
    成功搭建云计算的关键技巧------过完年第一篇
    从SDN鼻祖Nicira到VMware NSX 网络虚拟化平台的简单探讨
    openstack多region介绍与实践---转
    openstack架构
    kvm网络虚拟化
    kvm虚拟化操作
    html-from提交表单
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10820694.html
Copyright © 2011-2022 走看看