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