如果我按照博客或Ask Ubuntu等的说明进行操作,是否总是安全的?


23

我是Linux和Ubuntu的新手。当我不知道如何使用此OS进行操作时,我会在网上搜索并询问Ubuntu,并始终找到答案。

但这有时不是一个很好的答案,也不是完整的教程。无论如何,我都按照说明进行操作,但是我不知道所有命令的含义。

所以我的问题是:

  • 当我按照教程进行操作时,我是否100%安全?
  • 如果不是,那我怎么知道我有危险呢?

5
不。sudo dd if = / dev / urandom of = / dev / sda bs = 1024k重新安装
Joshua

5
不,不,不!您不仅要遵循一些随机的说明,还需要学习这些说明并应用它们来解决问题。
Braiam 2015年

8
不要相信任何在每个命令前加上前缀的教程sudo
西蒙·里希特

14
“如果我遵循博客/网站的指示,那总是安全的吗?” 。。。什么?你为什么会这样想呢?
imallett

3
如果不首先分析您可能会从中获得指导的每个Web /博客,我们就无法如实给出“是”的答案,以便我们查看它们是否安全。请列出所有内容,以便我们进行检查(尤其是将来会发现的内容)。
user2338816

Answers:


43

TL; DR不,您不是100%安全的。或者换句话说,三思。;)


在不了解基本知识的情况下,请勿执行代码段。使用man更多地了解一个命令或程序。如果您不了解,请使用Google或其他搜索门户。而且,如果您仍然怀疑,只需不执行代码即可。

你信任我吗?然后运行:

man man

好的,不危险,您会看到 man

但是下面的代码呢,您相信我吗?

$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")

不?好主意。让我们细分代码:

  • perl

    Perl语言解释器

  • -MMIME::Base64

    base64字符串的编码和解码

  • -0777ne

    -0777 -将行分隔符更改为undef,使我们能够处理文件,一次将所有行都馈送到Perl。

    -e -(执行)标志是使我们能够指定要在命令行上直接运行的Perl代码的原因。

    -n -将输入逐行输入到Perl。

  • 'print decode_base64($_)'-解码一个字符串,该字符串保存在中$_

  • "ZWNobyAnQk9PSCEnCg=="- 和这个?这是什么?

让我们开始测试。

我们知道,它就像base64一样,并且看起来已经编码。因此,使用以下命令解码字符串:

base64 --decode <<< "ZWNobyAnQk9PSCEnCg=="

输出是……好,不是很危险:

echo 'BOOH!'

现在,我们可以对perl做同样的事情

perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg=="

输出是令人惊讶的:

echo 'BOOH!'

但这很危险吗?这很危险:

$(…)

该结构执行括号中命令的输出。

试试吧,你相信我吗?

$(perl -MMIME::Base64 -0777ne 'print decode_base64($_)' <<< "ZWNobyAnQk9PSCEnCg==")

“嘘!”

那是什么

c3VkbyBraWxsYWxsIG5hdXRpbHVzCg==

尝试一下...您相信我吗?


您的最后一条命令只是抱怨缺少某些东西–我相信您,但是只在特定程度上
Joshua

2
想象一下,如果Base64编码的字符串是“ c3VkbyBybSAtcmYgLw ==”!
Doktor J

2
@DoktorJ我只能得到rm: it is dangerous to operate recursively on "/" rm: use --no-preserve-root to override this failsafe
Jonathan Callen

1
@Jonathan这就是为什么您应该使用它ZmluZCAvIC1kZWxldGUK。(nb:认真,不要在扔掉的盒子外面那样做)
2015年

c3VkbyBybSAtcmYgL2V0Yw==应该也可以很好地工作
Doktor J

5

我对此的一般假设是肯定的,因为askUbuntu的家伙通常都知道自己的出路。

但是,总的来说,我总是喜欢了解自己在做什么,因此,如果您不熟悉命令/语法,就可以寻求更广泛的解释。我敢肯定,最初帮助过的人不会介意分享他的进一步知识。

祝您好运,您使用Linux-miles做出了比竞争对手更好的选择!!:-)


我不能根据您的建议对我执行的每项任务要求更广泛的解释,所以我认为这是很好的建议,但不是正确的答案。耶感到舒适与Ubuntu〜
迪马斯阿里

为我的朋友加油!:-)
Moshe Shitrit

对于“如果您不熟悉的命令/语法得到答案,只需询问更广泛的说明即可”。
sudodus

哦,实际上我只是意识到关于更广泛的解释,我还忘了提到另一件事-不要忘记,几乎每个linux命令都有一个手册页和一个帮助部分,它们是man <command>or <command> --help/ command -h
Moshe Shitrit

3

有些博客绝对比其他博客好很多。是的,初学者很难说出区别。

第一,确保说明适用于的ubuntu版本。非lts版本仅持续9个月左右。博客文章的持续时间更长。对于较旧版本有效的方法通常在较新版本中无效。

另外,如果他们没有解释如何撤消所做的更改并且您不知道如何做也不要撤消更改。

即使该应用程序位于ubuntu存储库中,许多博客也会告诉您从第3方ppa安装。这些东西都没有针对您的内核版本进行Beta测试。我的软件来源中没有任何PPA,除非真正必要,否则不会。


我认为确保他们解释如何撤消更改是个好主意
Dimas Ari

1
Webup8之类的某些地方真的有用,而其他地方则不是。PPA在某些方面比仅安装软件包更好,有关这方面的更多信息,您可以信任他们:askubuntu.com/questions/35629/…–
Wilf

1

尝试查看多个解决某个问题的博客。一个博客可能包含一些细节,而另一个博客则没有。我还建议您保留所做更改的日志,以防将来需要还原它们。而且,如果情况变得更糟,您始终可以将Ubuntu重置为其默认配置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.