
Есть ли способ запретить 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.