Запретить Firefox доступ к домашнему каталогу

Запретить Firefox доступ к домашнему каталогу

Есть ли способ запретить Firefox доступ к файлам в домашнем каталоге? Каждый раз, когда индикатор модема ADSL подозрительно мигает, я начинаю беспокоиться о том, что мои файлы могут быть переданы хакеру.

решение1

Переработано, с учетом идей Дмитрия относительно необходимых команд xhost, лучшего использования для sudoупрощения и оснащения /home/foxy/необходимыми файлами. У меня работает на 16.04 с простым Openbox (как более простой Lubuntu).

Да, вы можете это сделать. Создайте еще одну учетную запись пользователя, назовем ее «foxy», либо с помощью чего-то вроде System Settings, либо из командной строки:

sudo adduser foxy

Теперь вам нужно предоставить этому пользователю файлы конфигурации, необходимые для использования Firefox. Вероятно, вы можете сделать это наиболее правильно, перелогинившись как foxy и сделав это оттуда, но я обнаружил, что достаточно скопировать «скрытые» «файлы с точками», такие как .configи .mozillaиз моего домашнего каталога в /home/foxy/& затем:

chown -R foxy:foxy /home/foxy

На этом этапе, поскольку вам больше не нужно будет входить в систему как foxy, может быть хорошей идеей сбросить пароль foxy на какую-нибудь абсурдно длинную и случайную строку. Серьезно длинную и случайную, поскольку вам не нужно будет ее запоминать. Это похоже на подход, используемый Ubuntu для полуотключения учетной записи root. Это не такая уж большая проблема, поскольку foxy в любом случае не будет в файле sudoers, но пока мы действительно хардкорные, давайте пойдем до конца. Поскольку вам нужно будет ввести его дважды, вам нужно будет сохранить его в буфере обмена или в открытом терминале или редакторе, чтобы скопировать его. Но будьте осторожны, чтобы не записать его на диск. Вы даже можете создать и смонтировать файловую систему ramfs и записать в нее текстовый файл, затем открыть текстовый файл и создать в нем длинную случайную строку и скопировать оттуда. В целях особой безопасности ramfs превосходит tmpfs, потому что он никогда не записывается в swap. (Но будьте осторожны, используя его в более общем плане, поскольку он с радостью займет ВСЮ вашу оперативную память, если вы продолжите загружать в него что-либо.) В любом случае, чтобы изменить пароль Фокси, используйте:

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@

Я следую подходу Дмитрия 'noid и включаю доступ foxy к x-серверу только при использовании Firefox и выключаю его после этого. Я не думаю, что это действительно необходимо. Возможно, это более безопасно, но для меня это не очевидно. Я думаю, что вы можете просто запустить первую команду xhost:

xhost nis:foxy@ 

ОДИН РАЗ и тогда доступ foxy сохранится при перезагрузках. Если я прав и вы сделаете это таким образом, вы можете убрать обе команды xhost из скрипта, после того как выполните первую команду один раз.

В любом случае, вы можете вызвать это с ffxтерминала, окна запуска или вручную отредактированного меню, такого как меню Openbox или 9menu. Вы можете создать файл рабочего стола для него и поместить его в /usr/share/applicationsи адаптивные меню, такие как меню Debian из пакета menuили, как мне сказали, Launcherв Unity, должны подхватить его.

Предвосхищая возражения, это НЕ риск безопасности, как обычно sudo firefoxили gksudo firefoxмогло бы быть. Sudo и подобные команды в основном предназначены для выполнения чего-либо от имени другого пользователя. Но они используются для выполнения чего-либо КАК ROOT так часто, что они используются по умолчанию -u root(что вы также можете сделать явно), чтобы сэкономить нажатия клавиш. Опасно не использование sudo с Firefox, а использование sudo для запуска Firefox КАК ROOT. Когда вы используете опцию -uи указываете другого обычного пользователя, вы не запускаете Firefox как root.


Сравнение с подходом блокировки скриптов:

минусы:

  • больше работы по реализации, чем в noscript или librescript

  • менее «стандартный» подход

  • Блокировщики скриптов МОГУТ сократить использование ресурсов, но это не так.

плюсы:

  • Firefox может получить доступ ко всем функциям веб-сайтов, зависящих от скриптов.

  • Не требует никаких доработок после первоначальной реализации.

  • Проще в использовании.

  • Вы ВСЕ ЕЩЕ можете использовать расширения Firefox для сокращения использования ресурсов. Noscript — не единственный вариант. Flashblock, FlashStopper, Gifblock, Image Block и т. д.

решение2

В качестве простого и понятного решения вы можете установитьnoscriptРасширение Firefox.

По умолчанию он отключает доступ к локальным файлам. Вы можете увидеть это в noscriptнастройках →Передовойвкладка →АБЕподвкладка → СИСТЕМНЫЕ правила.

Он также позволяет вам глобально контролировать выполнение Javascript и на уровне домена. Если вам не нужны эти функции, вы можете отключить их в настройках расширения (но, исходя из точки зрения вашего вопроса, я думаю, что вы найдете это полезным).

Более подробную информацию вы можете получить на их сайте.noscript.net.

Связанный контент