程序管理与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 查看详细规则,比如目标文件类型可以被哪个主体程序的类型所读取,以及目标文件资源格式。

相关推荐
骑着蜗牛撵大象3271 小时前
让 Codex 值夜班:把告警排查与巡检接成可回滚的自动化链路
android·java·运维·ai·自动化·codex·智能体
天远数科1 小时前
零信任架构实战:基于天远企业年报信息核验构建自动化供应商准入资质合规审查网关
运维·人工智能·架构·自动化
TangGeeA1 小时前
Control CLI Tutorial:用 aio 从终端控制 aiopsterm
运维·人工智能
VIP_CQCRE1 小时前
上线 AI 分站别一次改完:一套可回滚的配置与验收流程
运维·产品设计·ai工具·技术教程·acedatacloud
靳某某。2 小时前
Ubuntu安装php8.4 及redis ngin
linux·redis·ubuntu
Shell运维手记2 小时前
Shell 结构化命令知识点总结(case、for、while)
运维·microsoft·shell·脚本
一只旭宝2 小时前
回调函数(Callback)
linux·服务器·算法
less_121382 小时前
鸿蒙 WPS Open SDK 二开复盘:从注册、打开到回传的完整能力链
服务器·sdk·harmonyos·wps·鸿蒙开发
木泽八2 小时前
《Ubuntu系统GRUB引导修复操作记录》
linux·运维·ubuntu
水饺编程3 小时前
第2章:Linux 基础,删除用户
linux·c语言·汇编