(找个地方记笔记勿看)进程管理与SELinux初探

进程管理

在linux系统中,触发任何一个事件时,系统都会将他定义成为一个进程,并且给予进程一个ID,称为PID,依据启发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设定。
进程就是一个正在运作中的程序
工作管理

进行工作管理的行为中,其实每个工作都是目前bash的子进程,彼此之间是有相关性的,无法以工作管理的方式由tty1的环境去管理tty2的bash。
进行bash的job control的限制
1.这些工作所触发的进程必须来自你的shell的子进程(只管理自己的bash)
2.前景:你可以控制与下达指令的这个环境称为前景的工作(foreground)
3.背景:可以自行运作的工作,无法使用ctrl+c终止,可以使用bg/fg呼叫该工作。
背景在执行的进程不能等待terminal/shell的输入(input)。
工作控制的指令
直接将指令丢到背景中执行的 &:例如tar -zpcf  c.tar.gz  c.c  &
将目前的工作丢到背景中暂停:ctrl-z
    +代表最近一个被丢进背景的工作,且目前在背景下预设会被取用的工作(与fg有关),stopped代表目前的工作状态,在预设的情况下,使用ctrl-z丢到背景当中的工作都是暂停的。
观察目前的背景工作状态:jobs
jobs -lrs

将背景工作拿到前景来处理:fg
fg  %jobnumber(jobnumber为工作号码,%可以没有)
单独的fg取出的是+的工作,fg -为取出-的工作
让工作在背景下的状态变成运作中:bg,指令列最后多的一个&,代表工作被启动在背景当中
管理背景当中的工作:kill


kill后面接数字默认是PID,想要删除工作,就要使用%数字了
脱机管理问题
可以使用at,将工作放置到系统背景
也可使用nohup,在脱机或注销系统后,能够让工作继续进行。
nohup  指令与参数    在终端机前景中工作
nohup  指令与参数  &  在终端机背景工作


进程管理

进程的观察


ps:将某个时间点在进程运作情况撷取下来(静态)

 
ps -l只能查询自己的bash进程
ps aux查阅所有系统运作的进程
F:进程旗标,说明进程的总结权限,4表示进程权限为root,1表示此子进程仅进行复制(fork)而没有时间执行(exec)
S:代表进程状态(STAT),R程序正在运行,S程序正在睡眠状态可被唤醒,D不可唤醒的睡眠状态,T停止状态(例如工作控制背景暂停),Z僵尸状态进程已经终止但五个移除内存外。
top:动态观察进程的变化

  


echo $$(自己bash的PID)
top -d  2 -p  PID
pstree:进程树(寻找进程相关性)
pstree  -AIU  -up


进程的管理
进程的相互管理,是透过给予该进程一个讯号(signal)去告知该进程n想要让她做什么
信号查询可以使用kill -l或是man 7 signal
主要的信号


kill  -signal PID
kill后面接数字与加上%数字是不同情况
killall-signal  指令名称


进程的执行顺序
Rriority与Nice值
PRI值越低代表越优先的意思,不过这个PRI值是由核心动态调整的,用户无法直接调整PRI值。
PRI(new)=PRI(old)+nice
当nice值为负值时,那么该进程就会降低PRI值,会变得比较优先处理,注意事项
1.nice值可调整范围-20~19
2.root可以随意调整·自己或他人的nice值,范围同上
3.一般使用者仅可调整自己进程的nice值,范围0~19
4.一般使用者仅可将nice值越调越高,nice为5的话,只能调整为比5大
一开始就执行程序就立即给予一个特定的nice值,用nice指令
调整已存在的PID的nice值,用renice指令
nice:新执行的指令给予新的nice值

 


例如  nice  -n -5 vim &,PRI值会改变,但不一定完成按照公式去计算,因为核心会动态调整
renice:已存在进程的nice重新调整
renice  number  PID
系统资源的观察
free:观察内存使用情况

 


uname:查阅系统与核心相关信息


uptime:观察系统启动时间与工作负载
显示的就是top最上面一行
netstat:追踪网络或插槽文件

 


dmesg:分析核心产生的讯息
由于信息过多,可以只要dmesg |more来一页一页翻看
demesg  |  grep -i vda,搜寻开机是硬盘的相关信息
vmstat:侦测系统资源的变化
可以侦测cpu/内存/磁盘输入输出状态,了解系统那个环节最累人

 

 

特殊文件与进程
具有SUID/SGID权限的指令执行状态
SUID权限的特色
1.SUID权限仅对二进制程序(binary program)有效
2.执行者对于该程序需要具有x的可执行权限
3.本权限仅在执行该程序的过程中有效
4.执行者将具有该程序拥有者的权限
整个SUID权限会生效是由于具有该权限的程序被触发,SUID是运作过程中产生的进程
查询整个系统SUID/SGID文件:find  /-perm/6000
/proc/*代表的意义
/proc/1中,特别的两个文件,cmdline这个进程被启动的指令,environ这个进程的环境变量内容。
/proc目录下相关文件对应内容


查询已开启文件或已执行进程开启之文件
fuser:藉由文件(或文件系统)找出正在使用该文件的进程
fuser可以了解某个文件/文件系统目前正被那些进程所利用

 


ACCESS中
c:此进程在当前目录下(非次目录)
e:可被触发为执行专业
f:是一个被开启的文件
r:代表顶层目录(root  directory)
F:该文件被开启了,不过在等待回应中
m:可能为分享的动态函式库
lsof:列出被进程所开启的文件档名

 


pidof:找出某支正在执行的程序的PID

 


透过pidof和ps aux与正规表示法,可以轻易找到想要的进程内容。

SELinux初探

SELinux(Security Enhanced Linux)安全强化Linux的意思,是在进行进程、文件等细部权限设定依据的一个核心模块,由于启动网络服务也是进程,刚好也能够控制能否存取系统资源的一道关卡。
传统文件权限与账号关系:自主式访问控制,DAC(不安全)
以政策规则订定特定进程读取特定文件:委任式访问控制,MAC
SELinux的运作模式
SELinux是透过MAC的方式来控管进程,控制主体是进程,目标是该进程能否读取文件资源。
主体(Subject)
    进程
目标(Object)
   主体进程能否存取目标资源,一般就是文件系统
政策(Policy)
  1.targeted:针对网络服务限制较多,针对本机限制较少,是预设的政策
  2.minimum:由target修订二楼,仅针对选择的进程来保护
  3.mls:完成的SELinux限制,限制方面较为严格
安全性本文(security  context)
主体与目标的安全性本文必须一致才能够顺利存取,安全性本文类型文件系统rwx。
安全性本文类似rwx,放置到文件的inode内的。

SELinux重点在保护进程读取文件系统的权限
1.主体进程必须要通过SELinux政策内的规则放行后,就可以与目标资源进行安全性本文的比对
2.若比对失败则无法存取目标,若比对成功则可以开始存取目标。

 


安全性本文的三个字段意义
idenrify:role:type
身份识别:角色:类型
1.身份识别
相当于账号方面的身份识别,常见类型
unconfined_u;不受限的用户,该文件来自于不受限的进程所产生的的。(用户通过bash自己建立的文件)
system_u:系统用户,大部分就是系统自己产生的文件。
角色
通过角色字段可以知道资料是属于进程、文件资源还有代表使用者,一般角色有
object_r:代表文件或目录等文件资源,常见
system_r:代表进程,一般使用者也会被指定成system_r。
类型(重要)
一个主体进程能不能读取到这个文件资源,与类型字段有关,类型字段在文件与进程的定义不太相同,分别为:
type:在文件资源上面成为类型(type)
domain:在主体进程称为领域(domain)
type与domain搭配,进程才能顺利读取文件资源。

进程与文件SELinux  type字段的相关性
ps -eZ观察系统进程的SELinux相关信息

 


SELinux三种模式的启动、关闭与观察
  enforcing:强制模式,代表SELinux运作中,已经开始限制domain/type了
  permissive:宽容模式:代表SELinux运作中,不过仅会有经过信息并不会实际限制domain/type的存取。可以作为SELinux的debug之用。
  disabled:关闭SELinux。
getenforce:查询SELinux状态
sestatus:观察SELinux的政策

 


SELinux的配置文件/etc/selinux/config,可以在这里修改模式和政策
SELinux启动与关闭
改变了政策需要重新启动系统
setenforce:enforcing与permissive之间切换

 

SELinux各个规则规范的主体进程能够读取的文件SELinux type查询seinfo,sesearch
需要安装工具

  


修改SELinux规则的布尔值(setsebool)

 



SELinux安全文本的修改

chcon抽到洗衣歌文件的SELinux type

  


使用restorecon让文件恢复正确的SELinux type

 


semange默认目录的安全性本文查询与修改
 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值