程序管理与SELinux初探-理论篇

工作管理概念(job control)

1前台:你可以控制与执行命令的这个环境称为前台

2后台:可以自行运行的工作,你无法ctrl+c终止它,可以使用bg/fg调用该工作

3后台中执行的进程不能等待terminal/shell的输入

suid other执行二进制文件的身份是文件所属者的身份

sgid 多用户创建文件同属一个用户组,共享文件

sbit 在others的x位置设置t具有x权限,T不具有x权限、具有t表示只有自己和root可以删除自己创建的文件

/proc/* 内存

1)查看已打开文件或者已执行程序打开的文件 fuser

2)lsof 列出被进程所打开的文件名

二,SELinux初探

运行模式:

MAC强制访问控制

控制的主体是进程,目标则是该进程能否读取的文件资源。

主体:进程

目标:文件系统

策略:默认的基本安全访问策略,策略内会有详细的规则(rule),两个主要的策略

1)targeted 针对网络服务限制较多,针对本机限制较少,是默认的策略

2)strict 完整的SELinux限制,较为严格

3)安全上下文,主体访问目标,除了策略指定外,主体和目标的安全上下文必须一致才可以访问

类似文件系统的rwx权限,

查看安全上下文 ls -Z

分为三个字段,用冒号分隔,

第一个:身份标识

第二个:角色

object_r:代表文件或者目录等文件资源,常见

system_r:代表进程,但是,一般用户也会被指定称为system_r

第三个:类型 ,最重要,决定进程能不能访问文件资源,针对文件和进程定义不通

type:在文件资源(Object)上面称为类型

domain:在主体程序(Subject)中则称为域(domain)了

domain需要与type搭配,则改程序才能顺利读取文件资源

如图,身份和角色一致,角色都是 system_u ,根据角色可以看到两个都是文件系统,但是类型不一样

查看SELinux类型模式

enforcing:强制模式,permissive:宽容模式,disabled:关闭

查看模式:getenforce

查看当前策略:sestatus

SELinux的配置文件

注意:如果修改策略则需要重新启动

关闭模式下切换不了模式,下图是两种模式的切换,0宽容模式,1强制模式

SElinux网络服务运行范例 、usr/sbin/httpd

1.网络服务的启动与查看

一般服务启动脚本在/etc/init.d目录下,但是centos7 启动方式改systemctl 了

启动后会生成很多子进程管理网络服务

在对应目录新建一个html文件测试访问,和window建立站点类似感觉就是一样不过这个比较简单

查看新建文件的安全上下文

测试二:切换其他路径,新建html文件,然后mv到这里,之前的可以删除或者改名字,在测试

查看文件的安全上下文

和之前的不一样了,想要正常访问,修改安全上下文中的类型字段

如何修改?chcon 参数自查,修改完以后测试是否正常

还有一个拿某个文件当范例修改后面的文件的类型

其实系统目录都有默认的安全上下文,如果恢复默认设置呢?restorecon

有了这个命令处理安全上下文就好多了。以后遇到权限类似的问题,如果是安全上下文的问题,可以利用这个命令重置了。

setroubleshoot服务会将SELinux的错误信息和克服方法记录到/var/log/messages里面,所以这个服务一定要启动

查看setroubleshoot服务是否启动

查看/var/log/message的信息时候,会针对出现的问题提供解决的办法,可以按照提示操作解决问题,可以说非常方便,上图

SELinux的策略与规则管理

seinfo 查看策略规则

有个-b参数,列出规则的种类(布尔值)

布尔值的查询 getsebool

布尔值的修改 setsebool -P 规则名=0或1

默认目录的安全上下文查询和修改

自定义目录测试,指定public_content_t类型

自定义的内容写入到相关配置文件,注意:不可以直接修改

sesearch 查看详细规则,比如目标文件类型可以被哪个主体程序的类型所读取,以及目标文件资源格式。

相关推荐
AlfredZhao6 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao21 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
小宇宙Zz2 天前
Maven依赖冲突
java·服务器·maven