Linux程序管理与SELinux初探

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  pstree:显示程序树,可以看到程序之间的关系。

  程序管理

  基本原理:可以通过发送给程序一个信号,告诉程序你想让它做什么。这些信号包括SIGNUP(重新启动), SIGINT(相当于ctrl+c)等等,可用man 7 signal查询详细信息。

  基本方式

  kill -signal PID

  killall processName

  killall emacs

  程序执行的优先级

  priority(PRI):PRI越低表示越优先,由内核动态调整,用户无法改变

  nice

  PRI(new) = PRI(old) + nice,所以可以通过nice值调整PRI,但并不是修改后就能生效,系统还要去分析判断。

  nice值设定方式

  方式一:启动程序时,用 nice -n command 设定,n为nice值,范围-20~19

  方式二:程序已经启动,用 renice [number] PID 设定

  系统资源观察

  free: 观察内存

  $ free

  total used free shared buffers cached

  Mem: 3962820 2067520 1895300 0 379912 925868

  -/+ buffers/cache: 761740 3201080

  Swap: 3905532 0 3905532

  uname: 查看系统和内核信息(eg: uname -a)

  $ uname -a

  Linux minix007-ubuntu-desktop 3.2.0-37-generic-pae #58-Ubuntu SMP Thu Jan 24 15:51:02 UTC 2013 i686 i686 i386 GNU/Linux

  uptime: 观察系统启动时间和工作负载

  $ uptime

  15:14:15 up 4:31, 2 users, load average: 0.23, 0.24, 0.23

  netstat: 查看网络状态

  $ netstat -t #列出tcp网络封包数据

  Active Internet connections (w/o servers)

  Proto Recv-Q Send-Q Local Address Foreign Address State

  tcp 1 0 minix007-ubuntu-des:44769 mistletoe.canonica:http CLOSE_WAIT

  tcp 0 0 minix007-ubuntu-des:37063 112.90.137.192:http ESTABLISHED

  dmesg: 查看内核产生的信息 开机时,内核会检测硬件信息,运行中,内核也会产生一些信息,这些信息被放在内存中一个受保护的区域,使用 dmesg可以得到这些信息。

  vmstat: 侦测系统资源变化

  $ vmstat 1 3 #统计系统状态,每秒1次,共3次

  procs ———–memory———- —swap– —–io—- -system– —-cpu—-

  r b swpd free buff cache si so bi bo in cs us sy id wa

  1 0 0 1889048 380780 929772 0 0 17 14 160 286 2 2 96 1

  2 0 0 1889172 380780 929772 0 0 0 0 435 788 1 1 99 0

  2 0 0 1889164 380780 929772 0 0 0 0 428 767 1 1 99 0

  4 特殊文件与程序

  这一节讨论的是SUID/SGID/SBIT与程序权限的关系

  passwd:为什么普通用户执行passwd时拥有了root权限?这是因为执行passwd时,会取得一个新的程序与PID,该PID 产生时通过SUID赋予这个程序相应权限。

  /proc:内存中运行的程序都以文件或目录的形式存在于/proc目录下。

  fuser:找出使用指定文件,文件系统,或目录的程序。例如使用umount时发现[device is busy],就可以使用fuser找出哪个程序在使用 文件系统。

  lsof:找出程序使用的文件

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

  $ pidof emacs

  7021

  5 SELinux初探

  SELinux是什么:Security Enhanced Linux,安全强化的Linux.SELinux是在进行程序,档案等细部权限设定 依据的一个核心模块。

[1][2]

什么天荒地老,什么至死不渝。都只是锦上添花的借口…

Linux程序管理与SELinux初探

相关文章:

你感兴趣的文章:

标签云: