
ホームディレクトリ内のファイルへの Firefox のアクセスを拒否する方法はありますか? ADSL モデムのランプが不審に点滅するたびに、ファイルがハッカーに転送されるのではないかと心配になります。
答え1
必要な xhost コマンドに関する Dmytro の洞察を組み込み、sudo
これをよりシンプルにし、/home/foxy/
必要なファイルを装備して改訂しました。私の環境では、プレーンな Openbox (より軽量な Lubuntu のような) を搭載した 16.04 で動作します。
はい、できます。システム設定などを使用して、またはコマンド ラインから、別のユーザー アカウント (ここでは「foxy」と呼びます) を作成します。
sudo adduser foxy
次に、Firefox を使用するために必要な設定ファイルをそのユーザーに提供する必要があります。foxy として再度ログインしてそこから実行するのがおそらく最も適切な方法ですが、ホーム ディレクトリから や などの「隠し」ドット ファイルを& に.config
コピーして、次のようにするだけで十分であることがわかりました。.mozilla
/home/foxy/
chown -R foxy:foxy /home/foxy
この時点で、foxy としてログインする必要はもうないはずなので、foxy のパスワードを途方もなく長くてランダムな文字列にリセットするのがいいかもしれません。覚えておく必要がないので、本当に長くてランダムです。これは、Ubuntu がルート アカウントを半無効化するために使用するアプローチに似ています。foxy は sudoers ファイルには含まれないので、これはそれほど大きな問題ではありませんが、真剣に厳格にやっていくつもりなら、最後までやりましょう。パスワードは 2 回入力する必要があるので、クリップボードか、開いているターミナルまたはエディターにコピーして保存する必要があります。ただし、ドライブに書き込まないように注意してください。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 プロファイルまたは同様のファイルの 1 つを使用してロードすることもできますが、私はそれをテストしていません。)
もう 1 つは 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 を使用するときにのみ x サーバーへの foxy のアクセスをオンにし、その後オフにしています。これは実際には必要ないと思います。おそらくより安全ですが、私には明らかではありません。実際には、最初の xhost コマンドを実行するだけでよいと思います。
xhost nis:foxy@
一度実行すれば、foxy のアクセスは再起動後も維持されます。私の考えが正しく、そのように実行すれば、最初のコマンドを 1 回実行した後、両方の xhost コマンドをスクリプトから削除できます。
いずれにしても、ffx
ターミナル、実行ボックス、または Openbox メニューや 9menu などの手動で編集されたメニューからこれを呼び出すことができます。そのためのデスクトップ ファイルを作成して配置すると、/usr/share/applications
パッケージの debian メニューなどのアダプティブ メニューmenu
や、Launcher
Unity ではそれが認識されるはずです。
異論を予想して言っておきますが、これはプレーンなセキュリティ リスクsudo firefox
や、gksudo firefox
そうであるはずのセキュリティ リスクではありません。Sudo や同様のコマンドは、基本的に他のユーザーとして何かを実行するためのものです。しかし、これらは root として何かを実行するために使用されることが多いため、-u root
キーストロークを節約するために、デフォルトで (明示的に行うこともできます) になっています。危険なのは Firefox で sudo を使用することではなく、root として Firefox を実行するために sudo を使用することです。この-u
オプションを使用して別の一般ユーザーを指定すると、Firefox を root として実行しているわけではありません。
スクリプトブロックアプローチとの比較:
短所:
noscriptやlibrescriptよりも実装に手間がかかる
あまり「標準的な」アプローチではない
スクリプトブロッカーはリソース使用量を減らすことができますが、
長所:
Firefox はスクリプトに依存する Web サイトのすべての機能にアクセスできます。
最初の実装後に調整する必要はありません。
使いやすくなりました。
Firefox 拡張機能を使用して、リソース使用量を削減することもできます。Noscript だけがその唯一の選択肢ではありません。Flashblock、FlashStopper、Gifblock、Image Block などがあります。