タグ付けされた質問 「chroot」

Unixオペレーティングシステムのchrootは、現在実行中のプロセスとその子の見かけ上のルートディレクトリを変更する操作です。このような変更された環境で実行されるプログラムは、指定されたディレクトリツリー外のファイルに名前を付けることはできません(したがって、通常はアクセスできません)。

2
非共有でchrootをシミュレートする
最小限のソースからのLinuxディストリビューション用のブートストラップを作成しようとしています。 chrootのような環境でビルドしたいと思います。これにより、パッケージングが簡素化されます。私はこの時点でセキュリティを気にしません。ブートストラップは、非標準のサードパーティコマンドを必要としません。rootである必要もないのなら素晴らしいことです。 これが、fakechroot(1)fakeroot(1)chroot(1)がまさに私が探しているものではない理由です。 unshare(1)と/ bin / shを使用して/を偽造することは可能ですか?

3
プロセスが特定のグループとして実行されている場合、Linuxアクセス許可はどのように機能しますか?
これは私が多くの情報を見つけることができなかったものですので、どんな助けでもいただければ幸いです。 私の理解はこうです。次のファイルを取ります: -rw-r----- 1 root adm 69524 May 21 17:31 debug.1 ユーザーphilはこのファイルにアクセスできません: phil@server:/var/log$ head -n 1 debug.1 cat: debug.1: Permission denied philがadmグループに追加された場合、次のことができます。 root@server:~# adduser phil adm Adding user `phil' to group `adm' ... Adding user phil to group adm Done. phil@server:/var/log$ head -n 1 debug.1 May 21 11:23:15 server kernel: …

4
パーティションのサブディレクトリからLinuxシステムを起動しますか?
複数のLinuxがすべて同じファイルシステムにインストールされるようにコンピューターをセットアップしたいと思います。たとえば、filesytemは3つのフォルダを持っているでしょう/Ubuntu_Precise、/Ubuntu_Oneiricと/Ubuntu_Natty。 (私はあなたがBTRFSとサブボリュームでこれを行うことができることを知っていますが、速度のためにEXT4を使用したいと思います)。 BTRFSを使用して、さまざまなディストリビューションの複数のインストールをセットアップしたことがあり、Grubが「非標準」パスからvmlinuzおよびinitrdイメージを起動することで問題なく動作することを知っています。しかし、私がBTRFSのことをしているときに、rootflags=subvol=@<subvolume_name>そのサブボリュームを/としてファイルシステムにマウントするようにカーネルに指示するメッセージがありました。/としてパーティションのサブフォルダーをバインドマウントしてからブートするカーネルを渡すことができるという引数はありますか? 他の部分については、かなり近いと思います。でバインドマウントを指定する方法を知っています/etc/fstab。また、BTRFSサブボリュームに複数のLinuxインストールを使用してシステムをセットアップしたときから、VMにディストリビューションをインストールしてから、rsyncを使用してそれを移行するので、何をする必要があるかについてあまり心配していません適切な構成を取得し、私はちょうど適切な構成が何であるかを見つけようとしています。それがわかったら、サブフォルダへの移行とファイル編集を簡単に行うことができます。 仮想化とパーティションについてはすでに知っていますが、それは私が探しているものではありません。ターゲットコンピュータに仮想化を実行するための十分なパワーがなく、パーティションが空き領域を共有していません。私はデュアル/トリプル/クワッド/ etcがLinuxディストリビューションを起動するシステムをセットアップしようとしていますが、これは1つのファイルシステムで実行されるため、「空き領域がありますが、間違ったパーティションにあります!」 誰かが私の質問またはそのタイトルをより明確に編集する方法の提案を持っている場合、私はすべて耳にしています。

3
/ binと/ libをchroot jail内に提供する
プログラムが動的に適切にリンクできるように、chroot jail内に/ binおよび/ libディレクトリを提供できるようにする必要があります。 / binおよび/ libディレクトリをchroot刑務所にコピーせずにこれを達成する方法はありますか? 私はシンボリックリンクを試してみましたが、chroot刑務所の内部からは機能せず、ディレクトリをハードリンクすることはできません。
11 symlink  chroot 

3
「置換」ディストリビューションにchrootするときに、proc、sysなどのどれをバインドマウントする必要があるか(またはそうでないか)。
別の質問に対するこの回答は、基本的にはchroot、制限が厳しすぎる(ただし置き換えられない)親の代わりに主にそれを使用するために、別のLinuxディストリビューションに取り込むことです。実行前に推奨されるアクションchrootは、次のとおりです。 cp /etc/resolv.conf etc/resolv.conf cp -a /lib/modules/$(uname -r) lib/modules mount -t proc archproc proc mount -t sysfs archsys sys mount -o bind /dev dev mount -t devpts archdevpts dev/pts コピーresolv.confは明確ですが(ネットワーク/インターネットアクセス)、それについてはわかりませんが、stage3 Gentooシステムにアクセスするmodules場合、これは実際には不要のようchrootでしたね? しかし、なぜしているproc、sysとdev/pts代わりにバインド・マウントを使用しての再マウント?この状況の実際の違いは何ですか。「より正確」です。 このハウツーバインドマウントprocとdev、どちらもdev/ptsもはsysすべてにマウントされています。さらに/etc/{hosts,fstab}、新しいルートにコピーします。それは理にかなっていますか?私も含めるべきではありません/etc/mdadm.confか?
9 mount  chroot  proc  sysfs 

4
RedHatにpbuilderのような環境はありますか?
pbuilderクリーンな環境を使用してRedHatにRPMパッケージをビルドするために、Debianのようなユーティリティがあるかどうかを知りたいです(chroot)。 このようなものをサポートしているが、Debian環境であり、RHELをサポートしていないmachを見つけました。RHEL 5.5で実行できるものが必要です。
9 rhel  rpm  chroot 

2
chrootで「ls」コマンドを実行するには?
私はブラウザーシェルリーシュを使用していて、phpでシェルコマンドを実行してブラウザーに再起動しています。chrootコマンドを見つけただけで、たとえばls変更されたルートのルートディレクトリで実行したいのですが、実際に実行する必要がありますbash -c "ls /"。私はこれを試しました(sudoなしで試しましたが、うまくいきませんでした): sudo chroot ~/projects/jcubic/leash ls エラーが発生しました: chroot: failed to run command ‘ls’: No such file or directory このコマンドを適切に使用できますか?異なるルートディレクトリでlsを実行することは可能ですか? sudoなしでchrootを実行しようとすると、次のエラーが発生します。 chroot: cannot change root directory to '/home/kuba/projects/jcubic/leash': Operation not permitted
8 ls  chroot 

2
その場でユーザー環境を複製および分離する
このプロジェクトではUbuntu Linuxを使用します。 会議での特定のアプリケーションのトレーニングに必要なもの: 各生徒がサーバー上の同じユーザーアカウントにsshできるようにする ログインするたびに、ユーザーは自動的に個別の隔離された環境に置かれます 分離された各環境には、アプリケーション、サンプル設定ファイル、および標準のUNIXツールセット(grep、awk、sort、uniqなど)が含まれます。ただし、ユーザーが自分のファイルシステムにのみ損傷を与えることができる限り、Linuxファイルシステム全体へのアクセスも問題ありません。他の環境ではなく、隔離された環境。 ユーザーのSSHセッションが終了すると、仮想環境が破棄されます #1では、単一のユーザーアカウントを使用するので、各生徒のアカウントを作成してユーザー名とパスワードを渡す必要はありません。 私がこれらの目標を達成する方法を誰かが知っていますか?LXC、Chrootなどのどのテクノロジーがこれに最適ですか?私は.bash_profileと.bash_logoutを使用してこれらの環境の作成と破棄を処理するという考えをいじっていましたが、どのテクノロジーで必要な環境を作成できるかはわかりません。

1
ホスト上のDebian chrootブロッキングPTTY
debootstrapArch Linuxの下でDebianベースのchroot環境を作成し、次のような生活で満たしています。 #!/bin/sh mount -t proc proc $CHROOT/proc mount -t devpts devpts $CHROOT/dev/pts chroot $CHROOT /bin/bash --login -c "/etc/init.d/ssh start" 問題は、上記のスクリプトを実行した後、ホストシステムで新しい端末を開くことができなくなったことです。 urxvt: can't initialize pseudo-tty, aborting. シャットダウンchroot(sshdprocとdev / ptsの停止、アンマウント)は、ホストに新しいターミナルを戻しません。 ここで何が欠けていますか?
8 tty  chroot  urxvt 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.