LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 893|回复: 9

:(){ :|:&};:

[复制链接]
发表于 2009-11-28 09:50:14 | 显示全部楼层 |阅读模式
以 root 身份执行了:
  1. :(){ :|:&};:
复制代码
哈哈,果然崩溃 - 我是说系统

这是 bash 在语法变态指数上能赶超 perl 的少数几个语句之一
发表于 2009-11-28 13:12:56 | 显示全部楼层
小弟不材,看不懂

该不会是致命性崩溃吧,系统能重启否?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-28 14:02:31 | 显示全部楼层
系统会产生无限多进程,耗尽资源而亡,只能关机

可以重启
回复 支持 反对

使用道具 举报

发表于 2009-11-28 14:26:55 | 显示全部楼层
fork出无限个进程,最终耗尽系统资源
回复 支持 反对

使用道具 举报

发表于 2009-11-28 15:15:44 | 显示全部楼层
何以系統容許這種漏洞而無人諸截呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-28 16:51:07 | 显示全部楼层
这是正常语句,就像 rm / -rf
  1. :()
  2. {
  3.     : | : &
  4. }
  5. :
复制代码

定义了一个名字叫 : 的函数
: 的输出 | 到 :
于是递归至死
回复 支持 反对

使用道具 举报

发表于 2009-11-28 17:10:31 | 显示全部楼层
之前有讨论的。
这只说明大部分人不注意系统安全方面的设置。

限制下用户可运行进程数量即可。
/etc/security/limits.conf (启用 pam 时)
/etc/limits.conf (不启用 pam 时)
回复 支持 反对

使用道具 举报

发表于 2009-11-28 17:14:46 | 显示全部楼层
学习了~···
回复 支持 反对

使用道具 举报

发表于 2009-11-28 17:50:30 | 显示全部楼层
很老的话题又翻出来了。
回复 支持 反对

使用道具 举报

发表于 2009-12-8 21:08:34 | 显示全部楼层
的确会挂

foo(){ echo foo; } ; foo | foo & ps 有两个bash
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表