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

相关推荐
单音GG25 分钟前
推荐一个基于协程的C++(lua)游戏服务器
服务器·c++·游戏·lua
Shepherd06191 小时前
【Jenkins实战】Windows安装服务启动失败
运维·jenkins
shitian08111 小时前
用轻量云服务器搭建一个开源的商城系统,含小程序和pc端
服务器·小程序·开源
Biomamba生信基地1 小时前
Linux也有百度云喔~
linux·运维·服务器·百度云
米饭是菜qy1 小时前
TCP 三次握手意义及为什么是三次握手
服务器·网络·tcp/ip
yaoxin5211232 小时前
第十九章 TCP 客户端 服务器通信 - 数据包模式
服务器·网络·tcp/ip
new_abc2 小时前
Ubuntu 22.04 ftp搭建
linux·运维·ubuntu
flying robot2 小时前
RPM的使用
linux
鹿鸣天涯2 小时前
‌华为交换机在Spine-Leaf架构中的使用场景
运维·服务器·网络