我有 Ubuntu 14.04 LTS
我已经下载了 Telegram从这里。该文件被压缩,扩展名为tar.xz
。
我已解压此文件,并Telegram
使用普通用户(非管理员)运行该文件(无扩展名)。应用程序已启动并正常运行。
但是为什么 Ubuntu 没有告诉我“不要运行这个应用程序,因为它不安全”?
这种无需安装、双击即可运行的应用程序真的安全吗?
那么,这样的应用程序叫什么名字?它们叫什么名字?“便携式”?
答案1
该文件是二进制可执行文件。它已从源代码编译成 CPU 可以执行的形式,您只需要求执行它即可运行。
运行软件包管理器(例如 APT)时下载的软件通常也包含预编译的二进制文件,因此这种类型的文件没有什么特别之处。包装这些文件可以做一些有用的事情,比如告诉包管理器需要将二进制文件复制到文件系统的哪个位置,并提供脚本来确保程序可以找到它所依赖的任何共享库和其他程序,并且它所需的环境在需要时得到设置。
你可能认为这个程序不安全的原因是它来自未知来源,而 Ubuntu 存储库中的软件包来自已知来源,并且受签名验证过程保护这确保它们在进入你的系统的过程中没有被篡改。
基本上,从未知来源下载和运行可执行文件是不安全的,除非您信任提供商并且可以验证下载的内容是否完好无损。对于后者,分销商可能会提供某种校验和,您可以使用它来检查他们上传的文件是否与您下载的文件内容相同。
有一件令人鼓舞的事情电报特别是它是开源的:
本软件在 GPL v3 许可下可用。
源代码可在GitHub。
这意味着任何人都可以阅读程序的源代码,以确保它不会对您的系统造成任何不良影响。实际上,阅读源代码以确保程序安全并不是大多数最终用户愿意花时间去做或学习如何做的事情。不过,我仍然相信参与的社区能够发现开源软件中的安全漏洞和错误。
至于为什么 Ubuntu 不抱怨该程序不安全,好吧,纠缠用户做出可疑决定并不是 Linux 的传统。Linux 系统通常被设计为执行您要求它执行的操作,而不是其他操作。用户有责任意识到安全问题和其他潜在陷阱,并且很少会收到警告,告知他们即将危害或损坏其系统。
我使用 Telegram 的 PPA请参阅此答案以了解安装 Telegram 的所有方法。PPA 使用 APT 的签名验证机制,但它们仍然存在一定风险因为您信任维护者。PPA 确实提供了一些便利,当您运行更新时进行更新(如果维护者更新了 PPA),让包管理器知道您拥有该软件等等。
答案2
本地安装的软件
下载的软件(或以任何方式在本地复制的软件)和在本地运行的软件(从您的用户那里)可能会执行任何您不需要管理员权限的操作。这包括删除您的(个人)文件,而大多数人会认为这是有害的。
如果您登录了任何内容,并且软件以您的用户身份运行,同上,但也要考虑您可能已添加到 sudoers 文件中的脚本或命令。
如果您有一个管理员帐户,并且软件要求您输入密码而您不小心输入了密码,那么任何事情都可能发生。
警告?
如果不提供密码,潜在的损害将仅限于您自己的帐户。您不会希望 Ubuntu 对您运行的每条命令都发出警告,无论是有意还是无意。
这就是为什么你不应该运行来自你不知道是否可以信任的来源的代码,除非你完全理解该代码。