如果我按照博客或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重置为其默认配置。