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

相关推荐
sp_wxf10 分钟前
Stream流
linux·服务器·windows
LYK_HAHA28 分钟前
centos常用知识和命令
linux·运维·centos
PythonFun1 小时前
自建RustDesk服务器:详细步骤与操作指南
运维·服务器
Android技术栈1 小时前
鸿蒙开发(NEXT/API 12)【管理应用与Wear Engine服务的连接状态】手机侧应用开发
服务器·harmonyos·鸿蒙·鸿蒙系统·openharmony
可涵不会debug1 小时前
【Linux】信号知识三把斧——信号的产生、保存和处理
linux·运维·信号
笑的像个child1 小时前
使用树莓派搭建音乐服务器
服务器·树莓派·navidrome
facaixxx20241 小时前
京东云主机怎么用?使用京东云服务器建网站(图文教程)
运维·服务器·京东云
jyan_敬言1 小时前
【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
linux·运维·服务器·c语言·开发语言·汇编·c++
速盾cdn1 小时前
速盾:网页游戏部署高防服务器有什么优势?
服务器·前端·web安全
一颗星星辰2 小时前
Python | 第九章 | 排序和查找
服务器·网络·python