来源于
其实用了sudo,以后你用npm是以管理员权限执行的,安全性会成问题,当然要配合一些社会工程的手法才能真正触发这个安全漏洞
1、先不说这个会造成多大的安全性问题,从老师的话中,我想到一个一直在使用的命令但从来没有想过原因的问题—执行apt-get
为什么一定要加sudo
2、安全性指的是什么,社会工程学的手法又是什么
3、试了试 不加sudo
是这样的
apt-get install skype
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
为什么一定要加sudo
- 使用包管理器
apt get
是要往root
用户下装内容,所以要加sudo
执行 -
sudo
在英语里的意思是switch user and do something,在Linux系统上,你需要root权限来安装和卸载软件包 -
sudo
执行命令的流程是当前用户切换到root
(或其它指定切换到的用户),然后以root
(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers
来进行授权,并且定义了一些具体命令,在假定的身份下,特殊用户 可以执行这些命令,暂时只理解了这些,具体了解可戳链接
这里的安全问题
引用大胡子老师的例子
如果我上传了一个不太好的npm包,让你装一下,说帮我测试一下,你install完,sudo一执行。我就可以改系统文件了。如果我给你的npm里的脚本实际上是删除系统文件,你就傻了
如果我上传一个my-jasmine,有一个my-jasmine的命令,命令实际上是删除所有系统文件。我跟你说帮我测试一下,你觉得我是老师不会骗你,结果你执行了………你才意识到我是坏人已然来不及了
sudo
就好像人的DNA,不能不计后果的乱改,但有一点,apt-get
是内置的,它是安全的,而apt-get
的源也是内置的,也是安全的,linux默认是懂技术的人操作而不是不懂技术的人操作
找了找当年的“一个空格引发的惨案”http://coolshell.cn/articles/4875.html
源码在这里
使用Linux需保持这七个好习惯,详见http://www.bspcn.com/2008/04/17/the-7-habits-of-highly-effective-linux-users/
社会工程学问题
- 知乎上大神如是说
社会工程学是更高明的骗术。
社会工程学在意的是对方的非物质资源,诈骗在意的是对方的物质资源;
社会工程学更加的系统,诈骗相对松散;
社会工程师更有耐心,诈骗者相对没有耐心;
社会工程师拥有大量的反攻击手段,诈骗者的反攻击能力较弱;
社会工程师一般情况下是有目标的,诈骗者是没有目标的;
社会工程师能力要求很高,社会学,心理学,行为学,数据分析,数据收集等等,而诈骗相对来说能力要求较低;
防范社会工程师的难度较大,而防范诈骗者的难度较小;
在安装软件时要想对你使坏的的几个条件
1、骗你安装不安全的源
2、装不安全的包,
3、你自己执行
三者缺一不可,这亦可称为社会工程初步了解后发现这是一门神奇的艺术,兴趣会促进我去更进一步的学习和了解。
推荐一些书籍《欺骗的艺术》《乌合之众》《入侵的艺术》
**我是半生不熟 喜欢照自己的怪念头行事
喜欢一切意外 想把生活过成诗的样子
若哪天有幸相遇 请别诧异 其实我并不是个乖孩子 **