fork炸弹
fork炸弹是一种利用系统调用fork进行拒绝服务攻击。
与病毒或蠕虫不同,fork炸弹没有传染性。
在类UNIX系统的shell编程下触发fork炸弹的shell脚本代码,总共13个字符(包括空格)
:(){ :|:& };:
其中::()是函数声明;|并用管道将其输出引至
:|:表示每次调用函数“:”的时候会生成两份备份;
& 调用间脱钩,以使最初的“:”被杀死后为其调用的两个”:”还能继续执行;
要想杀死每个进程不是那么容易,我们要杀死所有的进程才行。因此我们尝试用程序来杀死fork炸弹所产生的所有进程,但是我们如果想创建进程,我们必须要有进程槽和内存空间,但是fork炸弹会一直探测并占有进程与内存空间,因而这一功能基本不可能实现;
因此,我们理论上是不可以将fork炸弹熄火的。只有强制关机。
但是,我们可以采取措施来预防fork炸弹的产生。
在linux下我们可以通过ulimit这个指令来达到效果。例如:ulimit -u 100这个指令可以限制每一个用户只能创建100个进程。
cut
cut命令可以从一个文本文件或者文本流中提取文本列。
cut语法
[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符 [root@www ~]# cut -c 字符区间 <==用于排列整齐的信息 选项与参数: -d :后面接分隔字符。与 -f 一起使用; -f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思; -c :以字符 (characters) 的单位取出固定字符区间;
PATH 变量如下
[root@www ~]# echo $PATH /bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games # 1 | 2 | 3 | 4 | 5 | 6 | 7
将 PATH 变量取出,我要找出第五个路径。
#echo $PATH | cut -d ':' -f 5 /usr/local/bin
将 PATH 变量取出,我要找出第三和第五个路径。
#echo $PATH | cut -d ':' -f 3,5 /sbin:/usr/local/bin
将 PATH 变量取出,我要找出第三到最后一个路径。
echo $PATH | cut -d ':' -f 3-
/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
将 PATH 变量取出,我要找出第一到第三个路径。
#echo $PATH | cut -d ':' -f 1-3
/bin:/usr/bin:/sbin:
将 PATH 变量取出,我要找出第一到第三,还有第五个路径。
echo $PATH | cut -d ':' -f 1-3,5
/bin:/usr/bin:/sbin:/usr/local/bin
实用例子:只显示/etc/passwd的用户和shell
#cat /etc/passwd | cut -d ':' -f 1,7 root:/bin/bash daemon:/bin/sh bin:/bin/sh