Debian パッケージをローカルにインストールしました。私はランダムにOperaを選択して抽出し、私dkpg -x opera-x.y.z.deb ~/bin/opera_package
のユーザーフォルダ(ユーザーパスにあります)~/bin
にシンボリックリンクを作成しました。
サイドファイアー刑務所で実行してみてください
$ firejail opera
Reading profile /etc/firejail/opera.profile
Reading profile /etc/firejail/disable-mgmt.inc
Reading profile /etc/firejail/disable-secret.inc
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/whitelist-common.inc
Parent pid 14762, child pid 14763
Child process initialized
/bin/bash: opera: command not found
parent is shutting down, bye...
私のホームフォルダの絶対パスを使用して実行しようとすると、次のようになります。
$ firejail /bin/local_packages/opera/usr/lib/x86_64-linux-gnu/opera/opera
Reading profile /etc/firejail/opera.profile
Reading profile /etc/firejail/disable-common.inc
Reading profile /etc/firejail/disable-programs.inc
Reading profile /etc/firejail/disable-devel.inc
Reading profile /etc/firejail/whitelist-common.inc
Parent pid 15796, child pid 15797
Child process initialized
/bin/bash: /bin/local_packages/opera/usr/lib/x86_64-linux-gnu/opera/opera: No such file or directory
Parent is shutting down, bye...
ブラウザGUIは起動せず、CLIはプロセスDOAを報告します。調整が必要だと思います。disable-common.inc
# grep -Rin 'bin' .
./disable-common.inc:125:# The user ~/bin directory can override commands such as ls
./disable-common.inc:126:read-only ${HOME}/bin
私の質問:
- Firejailを介してローカルアプリケーションを実行する方法は?
- ローカルアプリケーション用の設定ファイルはありますか?
- 無効 - common.profileを編集する必要がありますか?
- フォルダを許可するCLオプションはありますか?
- 別のフォルダを選択する必要がありますか
~/bin/
?
私の目標:
私の考えでは...
- github.comで複製してコンパイルされたサンドボックスアプリケーション
- 私のユーザーフォルダにソースコードとバイナリの両方を保存します。
- いつでも必要ありません
sudo
(インストール外firejail
)
答え1
Firejailは確かにこれをすぐに行うことができなければならず、これが私が直接使用する方法です。実行しfirejail bash
て、問題のある実行可能ファイルがあることを確認してください。また、opera
環境を設定しますfirejail
。
答え2
Firejailに関するドキュメントを入手できますここ。残念ながら、これは非常に包括的ではなく、ユーザーガイドに近いです。
これL29Ahの回答これを行う方法を理解するのに十分な情報を提供しましたが、残念ながら答えは有用な例と追加情報を提供していませんでした。だから私はすべての質問に答え、これを行うためのいくつかの実際の方法を見せようとします。
- ローカルアプリケーション用の設定ファイルはありますか?視聴中ソースコードから、firejailは、コマンドラインの最初の引数からコマンド名を抽出し、次のように実行するように指示します。最初に見つかった最初の空白文字からその引数の文字列値を切り捨て、先行ディレクトリを削除します。パスのコンポーネント。したがって、 'firejail /home/me/various/"commandName commandNameSecondWord"' コマンドは "commandName.profile" というプロファイルを検索します。 $HOME で実行されるプログラムや /usr/bin などのシステムディレクトリで実行されるプログラムには特別な処理はありません。これらすべては、コマンドラインで1つ以上の「--profile = ...」オプションを使用して上書きすることもできます。
- 無効 - common.profileを編集する必要がありますか?いいえ。まず、このファイルは他のFirejail設定ファイルに含まれているため、編集はお勧めできません。第二に、このファイルが含まれていても、特定のローカルプログラムを実行するのに問題はありません。第三に、そのファイルに問題がある場合は、そのファイルを含まないカスタム構成ファイルを作成する必要があります。
- ~/bin/以外のフォルダを選択してもよろしいですか?いいえ、もっと複雑です。
- フォルダを許可するCLオプションはありますか?はい、これを行う方法はいくつかあります。ただし、通常は実行中の特定のプログラムの構成ファイルを作成し、$HOME/.config/firejail に保存します。 「高速で汚れた」コマンドラインパラメータである「--private-home =...」で十分です。これは、最上位のファイルとディレクトリをサンドボックスファイルシステムにコピーします。ファイルのコピーサイズは500 MBに制限され、ファイルのコピーによりサンドボックスアプリケーションの起動速度が遅くなります。
- Firejailを介してローカルアプリケーションを実行する方法は?この質問は少し一般的です。各アプリケーションには異なる設定が必要な場合があります(これがFirejailがデフォルトでフルプロファイルライブラリを提供する理由です)、設定はアプリケーション全体を制限する方法(またはそうでない方法)によって異なります。 。ただし、アプリケーションを実行できました(上記の500 MBの制限はまだ適用されます)。別の可能性は、「whitelist ${HOME}/.local_fj/programInstallDir」を使用することです。どちらの場合も、"noexec"コマンドがプログラムがそのディレクトリで実行されるのを妨げないことを確認してください。。 (注:私はプロのFirejailユーザーではありません。私が慣れていない他の方法はほとんど確実です。)