問題タブ [chroot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2180 参照

linux - Linux用のクロスコンパイルsysrootを作成するにはどうすればよいですか?

とを使用してGCCクロスコンパイラを構築しようとしてい--host=x86_64-apple-darwin10ます--target=ppc64-linux

ターゲットのsysrootが必要です。私が利用できるのは、そのターゲットを起動してセットアップするように設計された.isoです。その上にrpmの巨大な山があります。

適切なrpmをOSXの空のディレクトリに正常に解凍し、そのsysrootを作成するLinuxの第一人者の呪文を知りたいです。

0 投票する
3 に答える
3079 参照

c - Cプログラミングでchroot関数を使用するには?

usrLinuxで「chroot」コマンドを使用するには、などのファイルまたはディレクトリが必要であることを知っていますbin。しかしchroot()、C で関数を使用する場合、これらのファイルは必要ですか?

これが私のコードです。「hw.out」は「Hello、world」を出力するバイナリファイルです。コンパイルしてルートとして実行しましたが、「Hello, world」の出力に失敗しました。他に何をすべきですか?ありがとうございました!

0 投票する
1 に答える
3815 参照

ssh - chrootされたSSHで接続が成功した後、ユーザーは即座に切断されます

このチュートリアルに従って、SSH で Chroot を使用して刑務所を構成しました。

同じ問題を扱うStackOverflowで別の質問を見つけましたが、答えもうまくいきませんでした。

auth.logファイルには次のものが含まれます。

私のsshd_configファイルには以下が含まれています:

私の/home/thenewoneディレクトリは所有されroot:rootており、chrootされたシステムが含まれています(/home/thenewone/home/thenewone所有者以外のすべてのファイルroot:root

接続が成功した後、単純に閉じる理由がわかりません。

0 投票する
0 に答える
822 参照

ubuntu - ld.soが検索している場所をデバッグする方法

これは、 chrootがダイナミックリンクにどのように影響するかについての続きです。

私のプロセスはchrootを使用して自分自身を投獄します。ただし、後でロードされるライブラリ(Python拡張モジュールのインポートなど)を取得して、現在投獄されているプロセスに動的に正しくリンクするのに問題があります。難しさの一部は、ld.soで何が起こっているのかについて多くの洞察を持っていないことです。どこで検索しているのかわからないし、RPATHやLD_LIBRARY_PATHのようなものがchrootjailの内部と外部のどちらに関連しているかもわかりません。

ld.soを「verbose」モードで実行する方法はありますか?そこでは、検索されているパスをログに記録し、要求されたライブラリが見つかった場合はどこにありますか?

0 投票する
3 に答える
10247 参照

ruby - chroot を終了する方法

私はchrootすることができますDir.chroot

しかし、どうすればchrootから戻ることができますか?

0 投票する
1 に答える
1536 参照

python - Python。Unchrootディレクトリ

次のコマンドを使用してディレクトリをchrootしました。

前のディレクトリに戻る方法-chrootする前に?たぶん、ディレクトリをunchrootすることは可能ですか?

解決:

Phihagに感謝します。私は解決策を見つけました。簡単な例:

より詳しい情報

0 投票する
0 に答える
1281 参照

apache - php5-fpm で chroot の問題を解決する

私は Apache を使用しています (そして、顧客のために nginx または lighttpd に切り替えることができません)。他の多くのユーザーと同様に、次の変数に問題があります。

chroot が原因で、apache の mod_fastcgi から php5-fpm に渡される変数がめちゃくちゃになり、適切な変数と一致しません。
例を示しましょう。

それ以外の:

したがって、これらの変数から「/home/vhosts/hXXXX」を削除するだけでよいので、簡単に実行できます。

php.ini 内で auto_prepend_file ディレクティブを使用して、次のようなものを追加することを考えました。

これにより、正しい変数を設定できるようになりますが、2 つの問題があります。

  • スクリプトの間違ったディレクトリにあるため、phpがまったく機能しないため(「入力ファイルがありません」)、ファイルを追加できません
  • chroot 環境が /home/vhosts/hXXXX で行われ、さまざまなドメイン docroot が /home/vhosts/hXXXX/home/domains/domain.tld/ にあるため、仮想ホストにエイリアスを設定しても機能しないようです。エイリアスを使用しても、Apache は依然として間違ったパスを提供しています。

多くの人がnginxでそれを扱って問題を解決し(SCRIPT_FILENAMEとDOCUMENT_ROOTを編集できますが、Apacheは編集できません)、他の人がchrootの適切なディレクトリツリーをシンボリックリンクして問題を解決しているのを見てきました。 . この最後の解決策は本当に最悪です。

それを行う別の方法は、このパッチを使用することですが、それを試してみても、何か問題が発生したようです: apxs2 -cia mod_fastcgi.cでコンパイルしようとすると、未定義のシンボルに関するエラーがスローされます: fcgi_config_new_static_server 、方法がわかりませんこれを修正します (静的にコンパイルしますか? apxs2 でそれを行うには?)

それについての最善の解決策は、手動で PHP にパッチを当てることのようですが、それが最もクリーンな方法であるかどうかはわかりません...!

0 投票する
0 に答える
741 参照

c - chroot と chdir の後、対応する execv が失敗し、親プロセスに EACCESS を返します

C でユーティリティをサンドボックス化しようとしています。以下の手順に従いました。

  1. file,directory, sharpointそのユーティリティのサンドボックス リソースをフォルダの下に作成しました/sandbox/myutil
  2. 、と呼ばれる「c」コードchdir("/sandbox/myutil")からchroot("/")
  3. ユーティリティの実行可能ファイルが で入手可能で/sandbox/myutil/bin/util.binあり、すべての依存ファイルが で入手可能であることを確認し/sandbox/myutilました。
  4. ユーティリティと呼ばbin/util.binれるexecve("/bin/util.bin",arg, env);

ただし、/bin/util.bin期待どおりに実行されていないため、プロセスはシグナル 18 を受信し、コード 13「EACCESS」を返します。

ただし、 を呼び出す代わりにchroot()chdir()Cexecve()コードchroot /sandbox/myutil /bin/util.binから、シェルから実行されるコマンドを使用すると、正常に動作します。

カーネル 2.6.17 を使用しています。

0 投票する
1 に答える
1641 参照

c - chroot監獄内でシェルコマンドを実行する方法

chroot jail 内でのシェル コマンドの実行に問題があります。次に例を示します。

問題はexecです。errnoによると、エラーは「そのようなファイルまたはディレクトリはありません」です。exec("/bin/ls", ...) を使用すると、同じエラーが表示されます

chroot監獄のため、「ls」は必要な共有ライブラリを使用できないと思います。

この問題を解決するための提案はありますか?

0 投票する
2 に答える
248 参照

solaris - illumos/solaris で chroot を検出するには?

実行中の C プログラムは、illumos/solaris の「chroot」で実行されているかどうかをどのように検出できますか?

Linux、freebsd、hurd でいくつかのトリックを使用する Debian ユーティリティ [1] があります。

illumos/solaris でそれを行う方法は?

[1] http://anonscm.debian.org/gitweb/?p=users/clint/debianutils.git;a=blob;f=ischroot.c;h=bed67f9f655d26906e3d65fd290698dce5402a89;hb=HEAD