找回密码
 骑士注册

QQ登录

微博登录

❏ 站外平台:

Linux 中国◆开源社区 首页 查看评论
WangYueScream [Chrome 50.0|Windows 7] 2017-06-02 18:14 4 回复
可比 rm -rf * 有意思多了
噪音未来 [Chrome 58.0|Windows 7] 2017-05-31 15:50 2 回复
神奇的alias
hrj294055233 [Firefox 53.0|Ubuntu] 2017-05-30 11:58 3 回复
我有一个大胆得想法,嘿嘿
来自四川成都的 Chromium 58.0|Ubuntu 用户 2017-05-27 23:08 5 回复
如果考虑到外部威胁,那这个方法依然有个问题,如果命令被符号链接,那调用前需要检查命令是否为符号链接,但就算能检查,由于脚本缺乏原子性,所以不能保证验证成功后的一刹那,命令不会被替换为错误的符号链接。再考虑到 rootkit 的存在,一个检查符号链接的措施也是不保险的。
来自四川成都的 Chromium 58.0|Ubuntu 用户 2017-05-27 23:06 7 回复
在假设系统没有被外部攻破的前提下,使用绝对路径来调用命令,是最佳解决方法,脚本中由于各种原因导致的 PATH 变量被修改,命令被指定错误别名,都不会影响命令的正确调用,只是对于不同发行版可能需要对路径进行调整。
POCMON [Firefox 53.0|GNU/Linux] 2017-05-27 20:45 14 回复
要离职的兄弟们,千万不要记住以上内容~~~
来自四川成都的 Chrome 58.0|GNU/Linux 用户 2017-05-27 16:42 3 回复
或者在关键代码的前一行,添加 unalias -a
[1]
来自四川成都的 Chrome 58.0|GNU/Linux 用户 发表于 2017-05-27 12:49 的评论:
一堆废话。我之前写脚本已经意识到这个问题,所以调用一律外部命令前加反斜杠, 例如 \grep。或者用绝对路径。
此外文中提到的其他方面,是看脚本编写者对 shell 的熟悉程度,以及在编写脚本时,是否存在想到过但是写的时候遗漏了。
比如我上面提到的准确调用外部命令,可能个别命令会漏写。

对于尽量避免遗漏的发生,可以通过调用预先设置的只读常量来缓解,但不会根本解决,万一只读常量拼错了,或者用成名字相近的。

归根到底,是要在使用前反复检查,在测试环境中仔细调试。
来自四川成都的 Chrome 58.0|GNU/Linux 用户 2017-05-27 12:50 6 回复
所以调用外部命令一律命令前面加反斜杠
来自四川成都的 Chrome 58.0|GNU/Linux 用户 2017-05-27 12:49 3 回复
一堆废话。我之前写脚本已经意识到这个问题,所以调用一律外部命令前加反斜杠, 例如 \grep。或者用绝对路径。
此外文中提到的其他方面,是看脚本编写者对 shell 的熟悉程度,以及在编写脚本时,是否存在想到过但是写的时候遗漏了。
比如我上面提到的准确调用外部命令,可能个别命令会漏写。

对于尽量避免遗漏的发生,可以通过调用预先设置的只读常量来缓解,但不会根本解决,万一只读常量拼错了,或者用成名字相近的。

归根到底,是要在使用前反复检查,在测试环境中仔细调试。
来自湖北武汉的 Chrome 58.0|Windows 10 用户 2017-05-27 12:40 3 回复
这个真的是好啊,比rm -rf / 好多了

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。