拒绝 Firefox 访问主目录

拒绝 Firefox 访问主目录

有没有办法拒绝 Firefox 访问主目录中的文件?每次 ADSL 调制解调器指示灯可疑地闪烁时,我都担心我的文件被传输给黑客。

答案1

经过修订,结合了 Dmytro 对必要的 xhost 命令的见解,更好地利用sudo使其变得更简单,并配备了/home/foxy/必要的文件。对我来说,在 16.04 上使用普通的 Openbox(就像一个精简的 Lubuntu)就可以了。

是的,你可以这样做。创建另一个用户帐户,我们将其称为“foxy”,可以使用系统设置之类的东西,也可以从命令行创建:

sudo adduser foxy

现在您需要向该用户提供使用 Firefox 所需的配置文件。您可能可以通过以 foxy 身份重新登录并从那里执行此操作来最正确地执行此操作,但我发现将“隐藏”的“点文件”(例如和).config.mozilla我的主目录复制到/home/foxy/& 然后就足够了:

chown -R foxy:foxy /home/foxy

此时,由于您不再需要以 foxy 身份登录,因此将 foxy 的密码重置为某个非常长且随机的字符串可能是个好主意。由于您不需要记住它,所以密码必须非常长且随机。这类似于 Ubuntu 用于半禁用 root 帐户的方法。这不是什么大问题,因为 foxy 无论如何都不会出现在 sudoers 文件中,但只要我们真的非常严格,那就让我们一路走下去。由于您需要输入两次,因此您需要将其放在剪贴板中或打开的终端或编辑器中以进行复制。但请注意不要将其写入驱动器。您甚至可以创建并挂载 ramfs 文件系统并向其中写入文本文件,然后打开文本文件并在其中创建您的长随机字符串并从那里复制。对于特殊的高安全性目的,ramfs 优于 tmpfs,因为它永远不会写入交换。 (但通常使用它时要小心,因为如果你不断地将东西放入其中,它会愉快地使用你所有的 RAM。)无论如何,要更改 foxy 的密码,请使用:

sudo passwd foxy

现在我们制作 2 个小脚本。我们将调用第一个脚本ffx并将其放在路径上的某个目录中。像这样:

#!/bin/bash    
# This file, ffx, needs to go in a directory on the path
sudo /path/to/a_password_exempted_directory/ffx_2.sh

(如果愿意的话,您可以将其作为函数或别名来执行,并使用您的 bash 配置文件或类似文件之一来加载它,而不是将其作为路径上的脚本,但我还没有测试过。)

我们将另一个命名为 ffx_2.sh,并将其放入已免除使用 sudo 输入密码要求的目录中,并在 中添加相应的行/etc/sudoers。如下所示:

#!/bin/bash
# This needs to go in a directory that is exempted from password requirement in /etc/sudoers

# Allows foxy to access the logged in user's xserver
xhost nis:foxy@

# starts firefox as foxy with home set to /home/foxy
sudo -u foxy --set-home firefox

# Removes foxy's privilege to use the xserver
xhost -nis:foxy@

我遵循 Dmytro 的 'noid 方法,仅在使用 Firefox 时打开 foxy 对 x 服务器的访问,之后再关闭。我认为这实际上没有必要。也许这样更安全,但对我来说这并不明显。我认为您实际上可以只运行第一个 xhost 命令:

xhost nis:foxy@ 

ONCE,然后 foxy 的访问权限将在重启后持续存在。如果我是对的,并且您这样做,则可以在运行第一个命令一次后将两个 xhost 命令从脚本中删除。

无论哪种方式,您都可以ffx从终端、运行框或手动编辑菜单(如 Openbox 菜单或 9menu)调用它。您可以为其创建一个桌面文件,并将其放入/usr/share/applications自适应菜单(如软件包中的 debian 菜单)中menu,或者,我听说,Launcher在 Unity 中,应该会接受它。

可以预见到反对意见,这不像普通sudo firefoxgksudo firefox可能的那样存在安全风险。Sudo 和类似命令本质上是关于以其他用户的身份执行某些操作。但它们经常用于以 root 身份执行某些操作,因此它们默认-u root(您也可以明确执行)以节省击键。使用 sudo 进行 Firefox 操作并不危险,使用 sudo 以 root 身份运行 Firefox 才是危险的。当您使用该-u选项并指定另一个普通用户时,您并不是以 root 身份运行 Firefox。


与脚本阻止方法的比较:

缺点:

  • 实现起来比 noscript 或 librescript 需要做更多工作

  • 不太“标准”的方法

  • 脚本拦截器可以减少资源使用,但这并不

优点:

  • Firefox 可以访问依赖脚本的网站的所有功能。

  • 初始实施后不需要进行任何调整。

  • 更易于使用。

  • 您仍然可以使用 Firefox 扩展来减少资源使用。Noscript 并不是唯一的选择。Flashblock、FlashStopper、Gifblock、Image Block 等。

答案2

作为一个简单直接的解决方案,您可以安装无脚本Firefox 扩展。

默认情况下,它会禁用本地文件访问。您可以在noscript选项 →先进的标签 →安倍晋三子选项卡→系统规则。

它还允许您全局控制 Javascript 的执行,并按域控制。如果您不需要这些功能,您可以在扩展设置中禁用它(但根据您问题的观点,我认为您会发现它很有用)。

您可以在他们的网站上获取更多信息noscript.net

相关内容