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
- 解析: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 使用操作的更多相关文章
- Linux 图形化操作
//Linux图形化操作 #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...
- linux shell 字符串操作(长度,查找,替换)详解
linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系 ...
- linux C 数组操作
/****************************************************************** * linux C 数组操作 * 声明: * 本文为解决陈颖奇遇 ...
- Linux应用层直接操作GPIO
Linux应用层直接操作GPIO 在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低.这个大大地提高了灵活性,官方的文档有GPIO Sysfs Inter ...
- Linux C语言操作MySQL
原文:Linux C语言操作MySQL 1.MySQL数据库简介 MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源.MySQL有以下特性: (1) 使用C和C++编写, ...
- 使用c语言实现linux数据库的操作
前言:上一篇讲解了linux下使用命令行操作数据库,这篇继续讲解怎么使用c语言实现linux数据库的操作. 使用c语言实现环境搭建:既然我们要使用c语言实现linux数据库操作,那么首先我们得先把数据 ...
- 看完这篇Linux基本的操作就会了
前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位.总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要是总结Linux的基础操作以及一些简单的概念~如 ...
- Python_基于Python同Linux进行交互式操作实现通过堡垒机访问目标机
基于Python同Linux进行交互式操作实现通过堡垒机访问目标机 by:授客 QQ:1033553122 欢迎加入全国软件测试交流群:7156436 实现功能 1 测试环境 1 代码实践 2 注 ...
- Linux内核 GPIO操作部分API
内核中关于GPIO的操作API主要集中在<linux/of_gpio.h>和<linux/gpio.h>中,前者主要是GPIO直接与设备树相关的操作,在Linux 设备树操作A ...
随机推荐
- Java SPI机制实战详解及源码分析
背景介绍 提起SPI机制,可能很多人不太熟悉,它是由JDK直接提供的,全称为:Service Provider Interface.而在平时的使用过程中也很少遇到,但如果你阅读一些框架的源码时,会发现 ...
- 用Java实现二叉查找树
二叉查找树的实现 1. 原理 二叉查找树,又称为二叉排序树.二叉搜索树.对于树中每一个节点X,它的左子树中所有项的值小于X中的项,而它的右子树中所有项的值大于X中的项.二叉查找树的平均深度为O(log ...
- Python读写Excel文件的实例
最近由于经常要用到Excel,需要根据Excel表格中的内容对一些apk进行处理,手动处理很麻烦,于是决定写脚本来处理.首先贴出网上找来的读写Excel的脚本. 1.读取Excel(需要安装xlrd) ...
- JS基础语法---分支语句之:switch-case语句---3个练习
switch-case语句---分支语句---多分支语句 语法: switch(表达式){ case 值1:代码1;break; case 值2:代码2;break; case 值3:代码3;brea ...
- python 计算 对象 占用大小
# 这里主要是计算文件内容(str)的大小即: 统计空间占用情况, 并转换宜读单位 K,M def gen_atta_size(con): # 参数可以是任意数据类型 if con: size_b = ...
- 升鲜宝V2.0_生鲜配送行业,对生鲜配送行业的思考及对系统流程开发的反思_升鲜宝生鲜配送系统_15382353715_余东升
升鲜宝V2.0_生鲜配送行业,对生鲜配送行业的思考及对系统流程开发的反思_升鲜宝生鲜配送系统_15382353715_余东升 -----生鲜配送行业现状及存在问题----- 1. 从业者整体素质偏低 ...
- iOS开发时获取第一响应者
上篇中提到键盘相应时间中用到了获取当前第一响应者的方法是苹果的是有方法,无法上传到App Store,本文将介绍一种非常简单的且未用到私有API的方法来获取当前第一响应者. 实现思路:用到的iOS A ...
- Android SDK自带调试优化工具
Android sdk中自带了一些分析内存,界面调优的非常实用的工具,这对于分析和调试我们的应用十分有帮助,由于我使用的是linux版本的sdk,所以就以linux版本的工具做一个介绍,这些工具的具体 ...
- MySQL基础之数据管理【1】
添加记录 insert [into] tbl_name[(col_name,...)] {value|values}(values...); --不指定字段名称时需要按照建表时的字段顺序给每一个字段赋 ...
- Linux--简单实现nfs的目录挂载,ntp时间同步
一.NFS (Network FileSystem) 网络文件系统 是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源. 在NFS的应用中,本地NFS的客户端 ...