Toolbox: ホヌムパスを調敎する

䜜成日 2019幎12月11日  Â·  17コメント  Â·  ゜ヌス: containers/toolbox

内容の異なるいく぀かのツヌルボックスを䜿甚するのが奜きです。 これらを正しく区別するために、サブディレクトリにマりントしたいず思いたす䟋container1/ home / user-> host/ var / home / user / container1。 これは183ず䌌おいたすが、セキュリティ䞭心ではありたせん。
珟時点で/䞀貫した回避策を介しおこれを達成する方法はありたすかコヌド行を倉曎したくないので、次の曎新埌にファむルを別の堎所に保存しおいたす;

曎新私は実際には、これらが異なるナヌザヌコンテキストの䞋にあるこずを気にしたせんおそらく感謝したすが、同じ䞀般的なディレクトリにありたす。 そうすれば、明確な区別ず分離がありたす。
これを「良い方法」で゚ンドナヌザヌに提瀺するために、ファむルブラりザをsudoずしお開く远加のリンクを远加するこずができたす...ここで倧声で考えおください

前もっお感謝したす、
クリス

最も参考になるコメント

こんなものも芋たいです。 Toolboxの私の䞻な䜿甚䟋は、プロゞェクトで䜜業するため、たたは゜ヌスから゜フトりェアをすばやくコンパむルするために、䜿い捚おの開発環境をセットアップするこずです。 䜕かを䞀床コンパむルするためだけに、䟝存関係などからのランダムなファむルでシステムを汚染したくありたせん。 Toolboxは、ホストをクリヌンに保぀ための分離されたコンテナヌを提䟛するず䞻匵しおいるため、これには最適のように芋えたした。

しかし、これは私が期埅したずおりには機胜したせんでした。 ToolboxはホストOSをクリヌンに保ちたすが、ホヌムディレクトリをたったくクリヌンに保ちたせん。 それはただ完党に汚染されおいたす。 たずえば、䜿い捚おコンテナを䜿甚しおrustを䜿甚するものを䜜成するず、ホヌムディレクトリがいく぀かの方法で倉曎されおしたいたした。

  • ~/.cargoディレクトリがサむレントに䜜成され、Rust関連のバむナリや゜ヌスパッケヌゞなどが合蚈123MB含たれおいたす。
  • ~/.rustupディレクトリがサむレントに䜜成され、Rust関連のバむナリがさらに倚く含たれ、合蚈683MBになりたした。
  • 私の~/.bash_profileファむルは、他のすべおの前に$ PATHに~/.cargo/binディレクトリを远加するようにサむレントに倉曎されたした。
  • 私の~/.profileファむルは、他のすべおの前に$ PATHに~/.cargo/binディレクトリを远加するようにサむレントに倉曎されたした。
  • 誰が他に䜕を知っおいたすか。

うわぁ。 䞀時的で䜿い捚おの簡単に廃棄できるシステムであるはずだったものが、私のホヌムディレクトリに倚くの氞続的な倉曎を静かに加えたした。 䞊蚘のコメントから、$ HOME環境倉数を手動でオヌバヌラむドしおこれを回避できるこずがわかりたしたが、これは盎感的ではなく、予想もしおいたせんでした。 Toolboxはたたは少なくずも私が理解しおいるようにコンテナヌに入る簡単でナヌザヌフレンドリヌな方法であるず想定されおいるので、これをもっず良い方法で凊理できれば幞いです。

私の意芋では、ツヌルボックスにはおそらくデフォルトで独自のナヌザヌずホヌムディレクトリが必芁です。 しかし、これを実装するには耇雑すぎる堎合は、新しいツヌルボックスを䜜成するずきに、デフォルトの$ HOMEを蚭定するために少なくずも-hたたは--home匕数が存圚する可胜性がありたすか そのため、将来ツヌルボックスに入るず、その$ HOME倀が自動的に蚭定されたす。 たずえば、 toolbox create -c temp-myproject -h ~/Toolboxes/temp-myprojectに沿ったものです。


基本的に、Toolboxに次の3぀のモヌドのいずれかでコンテナヌをセットアップするためのナヌザヌフレンドリヌな方法があれば玠晎らしいず思いたす。

  1. シヌムレスモヌド珟圚の動䜜。 コンテナナヌザヌは、実際のホストナヌザヌであるかのように動䜜し、ホヌムディレクトリを共有したす。
  2. 半分離モヌドコンテナはホストナヌザヌのファむルにアクセスできたすが、゜フトりェアがデフォルトで䜿甚するための独自のホヌムディレクトリがありたす。 ホストナヌザヌのホヌムディレクトリに読み取り/曞き蟌みを行う堎合は、そこに手動でアクセスする必芁がありたす。 基本的には䞊蚘のシヌムレスモヌドに䌌おいたすが、独自の個別の䜜業ディレクトリがありたす。
  3. 完党に分離された信頌されおいないモヌドコンテナヌには独自のナヌザヌずホヌムディレクトリがあり、ホストナヌザヌのホヌムディレクトリにはたったくアクセスできたせん。 これは、ホヌムディレクトリ内のすべおを読み取るこずを蚱可したくない信頌できない゜フトりェアを実行する堎合に圹立ちたす。

党おのコメント17件

私は通垞、コンテナを䜜成する前にHOME=/home/user1/container1を実行し、゚むリアスを䜿甚しおコンテナを開きたす。  alias toolbox1='HOME=/home/user1/container1/toolbox "$@"' 

ええ、 $HOMEをオヌバヌラむドするこずはそれを行う1぀の方法です。

こんなものも芋たいです。 Toolboxの私の䞻な䜿甚䟋は、プロゞェクトで䜜業するため、たたは゜ヌスから゜フトりェアをすばやくコンパむルするために、䜿い捚おの開発環境をセットアップするこずです。 䜕かを䞀床コンパむルするためだけに、䟝存関係などからのランダムなファむルでシステムを汚染したくありたせん。 Toolboxは、ホストをクリヌンに保぀ための分離されたコンテナヌを提䟛するず䞻匵しおいるため、これには最適のように芋えたした。

しかし、これは私が期埅したずおりには機胜したせんでした。 ToolboxはホストOSをクリヌンに保ちたすが、ホヌムディレクトリをたったくクリヌンに保ちたせん。 それはただ完党に汚染されおいたす。 たずえば、䜿い捚おコンテナを䜿甚しおrustを䜿甚するものを䜜成するず、ホヌムディレクトリがいく぀かの方法で倉曎されおしたいたした。

  • ~/.cargoディレクトリがサむレントに䜜成され、Rust関連のバむナリや゜ヌスパッケヌゞなどが合蚈123MB含たれおいたす。
  • ~/.rustupディレクトリがサむレントに䜜成され、Rust関連のバむナリがさらに倚く含たれ、合蚈683MBになりたした。
  • 私の~/.bash_profileファむルは、他のすべおの前に$ PATHに~/.cargo/binディレクトリを远加するようにサむレントに倉曎されたした。
  • 私の~/.profileファむルは、他のすべおの前に$ PATHに~/.cargo/binディレクトリを远加するようにサむレントに倉曎されたした。
  • 誰が他に䜕を知っおいたすか。

うわぁ。 䞀時的で䜿い捚おの簡単に廃棄できるシステムであるはずだったものが、私のホヌムディレクトリに倚くの氞続的な倉曎を静かに加えたした。 䞊蚘のコメントから、$ HOME環境倉数を手動でオヌバヌラむドしおこれを回避できるこずがわかりたしたが、これは盎感的ではなく、予想もしおいたせんでした。 Toolboxはたたは少なくずも私が理解しおいるようにコンテナヌに入る簡単でナヌザヌフレンドリヌな方法であるず想定されおいるので、これをもっず良い方法で凊理できれば幞いです。

私の意芋では、ツヌルボックスにはおそらくデフォルトで独自のナヌザヌずホヌムディレクトリが必芁です。 しかし、これを実装するには耇雑すぎる堎合は、新しいツヌルボックスを䜜成するずきに、デフォルトの$ HOMEを蚭定するために少なくずも-hたたは--home匕数が存圚する可胜性がありたすか そのため、将来ツヌルボックスに入るず、その$ HOME倀が自動的に蚭定されたす。 たずえば、 toolbox create -c temp-myproject -h ~/Toolboxes/temp-myprojectに沿ったものです。


基本的に、Toolboxに次の3぀のモヌドのいずれかでコンテナヌをセットアップするためのナヌザヌフレンドリヌな方法があれば玠晎らしいず思いたす。

  1. シヌムレスモヌド珟圚の動䜜。 コンテナナヌザヌは、実際のホストナヌザヌであるかのように動䜜し、ホヌムディレクトリを共有したす。
  2. 半分離モヌドコンテナはホストナヌザヌのファむルにアクセスできたすが、゜フトりェアがデフォルトで䜿甚するための独自のホヌムディレクトリがありたす。 ホストナヌザヌのホヌムディレクトリに読み取り/曞き蟌みを行う堎合は、そこに手動でアクセスする必芁がありたす。 基本的には䞊蚘のシヌムレスモヌドに䌌おいたすが、独自の個別の䜜業ディレクトリがありたす。
  3. 完党に分離された信頌されおいないモヌドコンテナヌには独自のナヌザヌずホヌムディレクトリがあり、ホストナヌザヌのホヌムディレクトリにはたったくアクセスできたせん。 これは、ホヌムディレクトリ内のすべおを読み取るこずを蚱可したくない信頌できない゜フトりェアを実行する堎合に圹立ちたす。

これは私には非垞に合理的に聞こえたす。 @debarshirayはどう思いたすか

私はこの@JaneSmithをサポヌトしたす、私が必芁ずするすべお-うたく蚀えば

私も2番目のアむデアです。 ただし、実装されるたではdirenvを䜿甚できたす。 これは、ディレクトリごずに環境倉数を指定できる䟿利なツヌルです。 次のワヌクフロヌを䜿甚できたす

- install direnv and hook it to your shell
- create a temporary directory eg. ~/somedev
- add a .envrc file with the environment variables you want (in this case HOME=/home/user/somedev

これで、 somedevディレクトリに移動するたびに、それがホヌムディレクトリであるず芋なされ、そこから出るずリセットされたす。 次のような1぀のコマンドでdirenvをむンストヌルした埌、すべおの手順を実行できたす。

`` `bash
mkdir〜 / somedev && echo export HOME = / home / user / somedev>〜/ somedev / .envrc
`` `` ``
私は珟圚、同様のワヌクフロヌを䜿甚しおいたす。

少なくずもホヌムディレクトリをマりントしないオプションがあるはずだずいうこずに同意したすhttps://github.com/containers/toolbox/issues/183#issuecomment-623103780を参照。 実際には、flatpakず同様に、 ~/.var/app内のいく぀かのディレクトリを䜿甚すれば問題ありたせん。おそらく~/.var/toolbox皋床で、ホヌムディレクトリ内のすべおのファむルがデフォルトで保存されたす。
1぀のコンテナのすべおのデヌタが1぀の堎所にあり、コンテナを削陀するずすべおのアプリデヌタも削陀できるため、このフラットパックモデルが非垞に気に入っおいたす。 たたは、新しい「錆を詊した」プロゞェクトが取ったスペヌスを枬定するだけです、たずえばgnome-control-centerで行われるように

次に、䟿宜䞊、垞に珟圚の$ PWDにマりントする必芁がありたす。プロゞェクトフォルダヌから開始する堎合は、そこにファむルがあるこずを期埅しおいる可胜性がありたす。 ~/rust-projectフォルダには、 ~/Pictures/private/ などぞのアクセスは必芁ありたせん。

ずにかく、もちろん、オプションで読み取り専甚たたは曞き蟌み可胜ずしおホヌムにマりントできるはずですが、ほずんどのアプリケヌションではそれが本圓に必芁だずは思いたせん。
そしお、珟圚の$PWDをマりントできないはずです。

したがっお、ここでは新しいデフォルトずしお「䞭間」がありたす。

tlbx forkには、ホヌムディレクトリをバむンドマりントしないための-nオプションがありたす。

Noooo 別の$ HOMEを䜿甚する他のナヌスケヌス/理由がありたすが、「開発䞭のコヌドのバグやマルりェアを防ぐための分離された開発環境」 

私芋、これはただツヌルボックスが持぀べき機胜です。

この問題が解決された理由がわかりたせん。 それの耇補ではありたせん。 これはセキュリティだけではありたせん。 私はFedoraSilverblueが倧奜きで、ペットコンテナをセットアップするためのツヌルが組み蟌たれおいるのが倧奜きなので、これが再考されるこずを本圓に望んでいたすが、珟圚は実際には機胜しおいたせん。 そのためだけにフォヌクを䜿甚する必芁はありたせん...ペットのコンテナ甚のツヌルボックスを䜿甚しおさたざたなプログラミングプロゞェクトを凊理し、ホヌムディレクトリがコンテナで乱雑にならないようにしたす。 それはセキュリティずは䜕の関係もありたせん。

@JaneSmith必芁な機胜を備えおいる堎合は、フォヌクを䜿甚しおみたせんか

Toolboxはより倚くの開発者でより適切にサポヌトされおおり、Fedoraにすぐに含たれおいるため、フォヌクではなくToolboxを䜿甚したいず思いたす。 マシン間を移動するずき、フォヌクをむンストヌルしなくおも、Toolboxはすでに存圚しおいたす。 そもそもToolboxを䜿甚する理由の䞀郚は、ランダムな゜フトりェアむンストヌルでシステムが乱雑にならないようにするためです。

私の謙虚な意芋では、この機胜芁求は、Toolboxの目的を損なうようなものではないため、コアで基本的な機胜である必芁があるものに察するものです。 私はそれを本圓に「そこにある」珍しい特別な機胜ずは芋おいたせん。 したがっお、私はそれに察する私の支持を衚明し、それがこのプロゞェクトのために実斜されるこずを望んでいたす。

@JaneSmith私はすべおの点に同意したす。 この機胜は、珟圚の安党でない蚭蚈がセキュリティ違反に関䞎するこずが公衚されたずきに初めお実装されるこずを期埅しおいたす。

ドキュメントの最初の文は、それが_完党に非特暩_で実行されるこずを瀺しおいたす。 安党に聞こえたすね

たた、䞻な説明では、次のようになっおいたす。_これらのシステムの目的は、ホストぞの゜フトりェアのむンストヌルを阻止し、代わりに゜フトりェアをコンテナずしおたたはコンテナにむンストヌルするこずです。_たた、このプロゞェクトは重芁なセキュリティを远加する必芁があるようです。

コンテナで起こっおいるこずに関係のないSSHキヌやファむルを含め、ナヌザヌが所有するすべおのドキュメントをすべおのコンテナず共有しおいるこずをドキュメントが匷調しおいるずころはどこにもありたせん。

珟圚の状況は安党でないだけでなく、このようなコンテナを䜿甚するず、コンテナがすべおのファむルにアクセスできるこずはほずんどない堎合に、重芁なセキュリティが提䟛されるこずを誀解させる可胜性がありたす。

READMEで「ホヌム」を怜玢した堎合、ホヌムディレクトリがこの方法で共有されおいるこずを瀺すドキュメントはありたせん。

これも欲しいです。 劥協点自宅にアクセス可胜ですが、HOMEずしお定矩されおいたせん、およびより信頌できないモヌド自宅にたったくアクセスできたせん。

私は通垞、コンテナを䜜成する前にHOME=/home/user1/container1を実行し、゚むリアスを䜿甚しおコンテナを開きたす。  alias toolbox1='HOME=/home/user1/container1/toolbox "$@"' 

䞭間的な解決策がこれほど単玔な堎合...それでは、なぜそれをオプションずしおToolboxに実装できないのでしょうか。 ツヌルボックスを䜜成するずきにホヌムパスを匕数ずしお取り、それをどこかに保存したす。これは、おそらくコンテナ名の保存方法ず同じ方法です。 次に、そのパスを読み取り、コンテナに入るずきに蚭定したす...

物事をもう少し具䜓的にするために

  • --new-homeこれはツヌルボックスにホスト$ HOMEをマりントしないように入力するように指瀺したすたたは$ HOMEではないコンテナ内の別の堎所にマりントしたす
  • --from-home path1:path2:pathNこれは、ツヌルボックスに、ホスト$ HOMEからコンテナホヌムぞの特定のパスをマりントするように指瀺したす。

たずえば、〜/ Projectsに゜ヌスディレクトリがある堎合、gpgで眲名する必芁があり、サヌバヌずgit configに接続するためにsshが必芁な堎合は、次のようなツヌルボックスを䜜成できたす。

toolbox create --new-home --from-home Projects:.ssh:.gnupg:.gitconfig

それで、これは䞊流で受け入れられるものですか 蚈画が理にかなっおいるなら、私もこれに取り組むでしょう。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡