我了解到,为了安装程序,应该通过转到其属性并标记“允许作为程序执行文件”框来使下载的文件可执行。
我理解这是安全功能。问题来了,我下载了一个 Linux 游戏 (www.tibia.com),当我去标记“允许将文件作为程序执行”框时,它已经被标记了。
我以为这是 Ubuntu 的问题,并尝试在 Fedora 上下载同样的游戏,但得到的却是同样的结果。
这难道不是安全问题吗?这让我想起了其他操作系统双击文件安装病毒时遇到的问题。
答案1
这里有几个重要的子问题,所以我将逐一解决:
什么使得文件“可执行”?
-x
Linux 和 Unix 系统通过检查文件权限的“执行”()位来确定文件是否可执行。
如果你进入终端并运行ls -l Downloads
(如果不同,请将“下载”替换为下载文件的位置)。你可能会看到类似这样的内容:
total 13557K
-rwxrwxr-x 1 Matthew Matthew 13557241 Apr 11 04:11 Downloaded_Game
第一列中的sx
表示该文件可由所有者 (Matthew)、组 (Matthew) 和所有人 (everyone) 执行。(r
和w
分别对应“可读”和“可写”。)
好的,设置“执行”位是什么意思?
每当在 Linux 系统上创建文件时,创建该文件的进程(程序)(在您的情况下,很可能是您的 Web 浏览器)必须指定文件权限。这些权限通常但不总是受用户限制。有关此子问题的更多信息,umask
请参阅手册页。umask
这对安全有何影响?
您可能有理由质疑将下载的文件标记为可执行文件是否存在潜在的安全风险。但是,Linux 和 Unix 系统通常以尽可能少地妨碍用户而闻名。
话虽如此,Linux 和 Unix 系统也固有地限制了可执行程序可能造成的损害,至少当这些程序由普通用户(而不是超级用户 root)运行时。删除主目录的程序可能仍会破坏你的午休时间,但正如负责任的用户所期望的那样任何操作系统,你最终有责任确保只运行你信任或可以自己验证的程序。
换句话说,即使启用了执行位,你仍然必须做出运行程序的决定。更重要的是,即使没有执行位,该文件仍然可以执行,因此,从任何重要的意义上来说,认为缺少执行位就更“安全”是错误的。
结论
简而言之,不要过分担心文件的可执行状态。如上所述,首先要小心下载的内容,并在运行之前验证下载的内容。尽可能使用像 Ubuntu apt 存储库这样的可信来源。