問題タブ [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 投票する
2 に答える
7253 参照

ubuntu - Ubuntu - ssh/ftp ユーザー用の chroot 仮想システム

Ubuntu 11.10 を実行している Web サーバーがあります。プロジェクトのソースのコピーを保存するだけですが、ユーザーが SSH 経由でシステムにアクセスできるようにすることを考えています。ソースをそのユーザーから保護するために、そのような仮想マシンを作成したいと考えています。

私はvirtualboxを使用することを考えていましたが、(大量のRAMが必要なため)最善の解決策ではないため、chrootを使用してこれを行うことができるのではないかと考えていました.

どのようにできるのか?「test1」(/home/test1) というシステム ユーザーを作成したとします。このユーザーがホーム ディレクトリの外を参照できないようにするにはどうすればよいでしょうか。test1 が ssh および ftp (vsftpd) 経由でアクセスできるようにします。

ありがとうございました。

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

c - C で chroot コマンドを実装するためのヒントが必要です

私は、「nl」、「head」、「chroot」(パラメーターなし) の 3 つのコマンドと共に単純なシェルを作成する任務を負っています。nl.c と head.c を書きましたが、chroot.c をどこから始めればよいかわかりません。私はchrootが何をするかを読み、いくつかのドキュメントをグーグルで検索しましたが、初心者の私にとってこれは複雑です。

この件に関するアドバイスはありますか?

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

linux - Bash:chrootおよびswitchユーザー内からコマンドを実行する

これを行う必要があるスクリプトを書いています...

私はこのアプローチを試しました:

これは、ユーザー切り替えとスクリプトを文字列コマンドとして実行してbashを実行しようとします...ただし、 「su- 」の後に「停止」し、スクリプトを実行しません。ただし、「su-」環境を離れると、startup.shを実行しようとしますが、もちろん、それを見つけることができません。

基本的に、「su-」環境内で実行するために「startup.sh」をネストする必要があります。

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

linux - chroot 監獄に監獄外のディレクトリ (読み取り専用) を共有させることは可能ですか?

複数の chroot ジェイルがあり、いくつかのディレクトリを共有したいのですが、現在、これらのディレクトリをジェイルにコピーする必要がありますが、これはエレガントではないと思います。ディレクトリは「/usr/bin」のように読み取り専用です。

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

python - Python(Twisted + ZSI)でのWebサービス呼び出しがchrootjailで機能しない

TwistedでZSIを使用してWebサービスを呼び出すPythonスクリプトがあります。Linuxでは、このスクリプトを実行していますが、正常に動作します。

ここで、このスクリプトをファイルシステムのどこかにあるchrootjailで実行したいと思います。jailにusr、libなどのディレクトリを追加しました。刑務所からスクリプトを実行すると、Webサービスからの応答がなく、Twistedは次のようなエラーを報告します。

[失敗インスタンス:トレースバック(フレームなしの失敗):twisted.internet.error.ConnectionLost:反対側への接続がクリーンでない方法で失われました。]

ファイルシステムのルート(/)にchrootし、新しいjailが既存のusr、libなどのディレクトリを使用している場合、エラーなしで動作します。

欠落しているライブラリがあるか、最初のchrootjailのbin/ usr/etcディレクトリに正しくないライブラリがあるのではないかと疑っています。私を助けることができる手がかりはありますか?誰かがこの問題の解決策を持っていますか?

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

unix - 削除防止のchroot監獄で/ devへの参照を作成する方法は?

プログラム用に chroot 監獄を作成する必要があります。プログラムを正しく実行するには、/dev の内容が必要です。/dev の内容を chroot 監獄にコピーしたくありません。監獄内で要素が重複するのを避けたいからです。

この問題に対する 2 つの解決策を見つけましたが、いずれも問題を完全に解決していません。

  • /dev: のマウントは機能しますが、システム管理者が "rm -rf" で chroot jail を削除すると、/dev を削除できます。これは悪いです...
  • /dev: のシンボリック リンクは機能しません。刑務所の外を指しているシンボリック リンクが機能しないためです。

重複を回避し、削除時に安全で機能するソリューションを知っていますか?

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

python - chroot内のopenssl

chroot jail内からssl接続を確立しようとすると、次のエラーが発生します。

私はopenssl0.9.6とpyopensslを使用してssl接続を確立し、Linux(centos 5.5)上のpython2.4用のツイストpythonライブラリを使用しています。

いくつかのトラブルシューティングの結果、opensslが/ dev / randomファイルを読み取ろうとしているために失敗し、chroot内に/ dev/randomがないために失敗していることがわかりました。chroot内に/dev/ randomファイルを作成すると、接続が成功することを確認しました。

  • chroot内に/dev/ randomファイルを含むdevfsファイルシステムをマウントすることを考えましたが、私のアプリとそのsysadminには、最初にすべてをアンマウントせずにchrootのルートを削除するという悪い習慣があります。
  • chrootを実行する前に/dev/ randomファイルから読み取ることを考えましたが、現在の設定では、バイナリが開始される前にchrootを呼び出すようになっています。また、chrootが発生する場所を変更すると、アプリの変更が大きくなりすぎます。いつ、どのようにそれができるのかわかりません。
  • / dev / randomから読み取り、/ jail / dev / randomという名前のファイルパイプに書き込むプログラムをchrootjailの外部で実行することを考えましたが、chrootjailの内部からアクセスできます。ランダム性のソースにアクセスするためだけに、別のプロセスを実行します。また、opensslを初期化するだけでは非常に複雑に見えます。

プログラムから/dev/ randomにアクセスできない場合、opensslを初期化する正しい方法は何ですか?

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

security - プログラムがファイルシステムにアクセスできないようにする

侵害される可能性のあるプログラムがありますが、最初はルート権限が必要です。現在、プログラムは事前設定されたディレクトリにchrootしてから、特権を削除します。

ただし、root権限を削除した後は、プログラムがファイルシステムにアクセスできないようにしたいので、可能であれば構成は必要ありません。/ tmpに一時ディレクトリを作成し、そこにchrootするよりも良い方法はありますか?

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

gcc - chroot に ldd を使用する

sdb に非常に最小限の chroot 環境を作成し、にマウントしました/mnt/sdb。へのシンボリックリンクも作成しまし/mnt/sdb/bin/cc/usr/bin/gcc

ldd /mnt/sdb/bin/cc戻ってきた

そこで、次を実行して必要なライブラリをコピーしました。

この記事をざっと見てみるlinux-gate.so.1と、 はカーネルの一部であるため、コピーする必要がないことがわかりました。

ただし、実行したchroot /mnt/sdb /bin/sh後、試しccてみてください

ldd が cc に必要な libm.so.6 を通知できなかったのはなぜですか? すべてのライブラリを単純にコピーすることなく、chroot 環境で cc を動作させる簡単な方法はありますか? 一時的に cc を使用して、それを使用して tcc をビルドし、それから tcc を使用して他のすべてをビルドできるようにしたいだけです (単純に tcc を外部でビルドしてから chroot で使用することも試みましたが、その価値があるのではないかと心配しています)。自分の投稿)。

ノート:

私は Virtualbox で Debian を使用していますが、chroot 環境で現在実行されている唯一のプログラムは、単一の (静的) ビジーボックス バイナリです。