Linux系统中内部和外部安全性概述

豆豆网   技术应用频道   2007年03月04日  【字号: 收藏本文

本文详细介绍Linux系统中内部和外部安全性概述

  用 ulimit 设置用户限制

  bash 中的 ulimit 命令提供了限制特定用户的资源使用情况的方法。一旦限制降低,则在进程的生命期内无法提高该限制。此外,该限制会被所有子进程继承。结果是:可以在 /etc/profile 中调用 ulimit,而限制将以不能撤消的方式应用于所有用户(假设用户正在运行 bash 或另一个 shell,该 shell 在登录时运行 /etc/profile)。

  要检索当前限制,可使用 ulimit -a:

  # ulimit -a
  core file size (blocks, -c) 0
  data seg size (kbytes, -d) unlimited
  file size (blocks, -f) unlimited
  max locked memory (kbytes, -l) unlimited
  max memory size (kbytes, -m) unlimited
  open files (-n) 1024
  pipe size (512 bytes, -p) 8
  stack size (kbytes, -s) unlimited
  cpu time (seconds, -t) unlimited
  max user processes (-u) 3071
  virtual memory (kbytes, -v) unlimited

  以一种能实际提高系统安全性而不会对合法用户造成麻烦的方式设置这些限制是相当复杂的,所以调整这些设置时要小心。

  用 ulimit 设置 CPU 时间限制

  作为 ulimit 的一个示例,我们尝试将一个进程的 CPU 时间设置为 1 秒钟,然后用一个忙循环使它超时。一定要确保启动新的 bash 进程(象我们在下面做的那样),以在其中进行尝试;否则将被注销!

  # time bash
  # ulimit -t 1
  # while true; do true; done
  Killed
  real 0m28.941s
  user 0m1.990s
  sys 0m0.017s

  在上面的示例中,“user”时间加上“sys”时间等于该进程所用的全部 CPU 时间。当 bash 进程到达 2 秒标记时,Linux 断定它超过 1 秒的限制,因此该进程被杀掉。酷吧?

作者:yuanlsei    责编:豆豆技术应用

正在加载评论...