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

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

但有时它不是一个好的答案也不是完整的教程。 我仍然按照说明进行操作,但我不知道所有命令的含义。

所以我的问题是:

  • 当我按照教程进行操作时,我是否100%安全?
  • 如果没有,那我怎么能告诉我我有危险?

TL; DR不,你不是100%安全。 或者换句话说,三思而后行。 ;)


如果不了解基础知识,请不要执行代码段。 使用man可以了解有关命令或程序的更多信息。 如果您不理解,请使用Google或其他搜索门户。 如果您仍然怀疑,只需不执行代码。

你信任我吗? 然后运行:

 man man 

好吧,没有危险,你看到男人的man

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

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

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

  • perl

    Perl语言解释器

  • -MMIME::Base64

    base64字符串的编码和解码

  • -0777ne

    -0777 - 将行分隔符更改为undef,让我们-0777文件,一次性将所有行提供给Perl。

    -e - (execute)flag允许我们在命令行上指定我们想要运行的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==") 

'BOOH!'

那是怎么回事

 c3VkbyBraWxsYWxsIG5hdXRpbHVzCg== 

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

我对此的一般假设是肯定的,因为askUbuntu的这些人通常都知道他们的方式。

但是,总的来说,我总是喜欢理解我在做什么,所以如果你得到一个你不熟悉的命令/语法的答案 – 只要求更广泛的解释。 我确信那个帮助到位的人不会介意分享他的进一步知识。

祝你好运,你已经在Linux-miles上做出了比竞争对手更好的选择! 🙂

有些博客肯定比其他博客好很多。 是的,初学者很难说出差异。

第一,确保说明适用于的ubuntu版本。 非lts发布仅持续9个月左右。 博客post持续时间更长。 适用于旧版本的版本通常不适用于较新的版本。

此外,如果他们没有解释如何撤消更改,如果它不起作用,你不知道怎么做,不要这样做。

许多博客都告诉你从第三方ppa安装,即使应用程序在ubuntu repos中也是如此。 这些内容都没有针对您的内核版本进行beta测试。 我的软件资源中没有任何ppa,除非确实有必要,否则不会。

尝试查看解决某个问题的多个博客。 可能有一个博客解决的细节,但另一个博客没有。 我还建议您记录您所做的更改,以备将来需要还原时使用。 如果情况变得更糟,您可以随时将Ubuntu重置为其默认配置。