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

2
UTS名前空間とは何ですか?
非共有のマニュアルページには次のように書かれています: UTS名前空間 setting hostname, domainname will not affect rest of the system (CLONE_NEWUTS flag) UTSは何の略ですか?
32 linux  namespace 

5
特定のプロセスの名前空間を見つける方法
私はすでにLinuxのすべての名前空間をリストする方法について質問しましたが、正確かつ正確な答えはありませんでしたので、プロセスまたはグループのPIDの名前空間を見つけるのに役立つ方法を見つけたいですプロセス。Linuxでどのようにできますか?

2
プロセスごとのプライベートファイルシステムマウントポイント
私はunshareコマンドをチェックしていましたが、そのマニュアルページによると、 unshare - run program with some namespaces unshared from parent また、次のような名前空間のタイプがリストされています。 mount namespace mounting and unmounting filesystems will not affect rest of the system. このマウント名前空間の目的は何ですか?私はいくつかの例の助けを借りてこの概念を理解しようとしています。

4
Linuxで名前空間をリストする方法は?
この質問は、UnixおよびLinux Stack Exchangeで回答できるため、Server Faultから移行されました。 5年前に移行され ました。 Linuxには、実行中のホスト上のすべての名前空間をリストする方法がありますか?特定のプロセスの名前空間をチェックする必要があります(たとえば、LXCコンテナーで実行されているプロセスとホスト上の他のすべてのプロセス)。次に、それらのcgroupを見つけます。
24 linux  lxc  namespace 

1
「nsenter:」を使用して子プロセスを投獄する信頼できる方法
Linuxの名前空間は、とりわけ、ゾンビ化されたりダンプされたりすることなく、子プロセスの制限と投獄を安全に処理するために活用できることを知っていますinit。しかし、実装の詳細についてはあいまいです。やutil-linuxなどのツールを使用して、起動したすべてのプロセスが別のプロセスの直接の名前空間の子孫であることを監視、監視、および確認するにはどうすればよいですか?mountnsenter

3
Linuxで子プロセスを「オフライン」(外部ネットワークなし)で実行するコマンド
実際のネットワークを停止せずにオフラインモードでテストしたいプログラムがあります。このプログラムは、Unixドメインソケットとループバックを含むローカルソケットに接続する必要があります。また、ループバックでリッスンし、他のアプリに表示される必要があります。 ただし、リモートマシンへの接続は失敗します。 strace/ unshare/のように機能sudoし、インターネット(およびLAN)を隠した状態でコマンドを実行し、他のすべてがまだ機能しているユーティリティが必要です。 $ offline my-program-to-test この質問には答えがあります:プロセスのネットワークアクセスをブロックしますか? 他のユーザーとして実行してからiptablesを操作するなど、いくつかの提案がありunshare -nます。しかし、どちらの場合も、UNIXドメインソケットとループバックをメインシステムと共有するための呪文はわかりません。その質問に対する答えは、ネットワーク全体の共有を解除する方法を教えてくれるだけです。 私がテストしているプログラムは、まだXサーバーとdbusに接続し、システム上の他のアプリからの接続をループバックでリッスンできる必要があります。 ネットワークケーブルを抜くのと同じくらい迷惑になるので、理想的には、chrootやユーザー、VMなどを作成しないようにします。すなわち質問のポイントはどのように私はこれをaのように簡単にすることができるかsudoです。 非ローカルアドレスを指定するネットワークコールが失敗することを除いて、通常どおりに100%実行するプロセスが必要です。理想的には、同じuid、同じhomedir、同じpwd、...を除くすべてをオフラインに保つ。 私はFedora 18を使用しているので、移植性のないLinuxの答えは問題ありません(予想される、でも)。 それが関係しているのであれば、Cプログラムを書くことでこれを解決できてうれしいので、Cを書くことに関係する答えは問題ありません。ローカルネットワークを維持しながら、Cプログラムが外部ネットワークアクセスを取り消すために必要なsyscallがわからないだけです。 「オフラインモード」をサポートしようとする開発者は、おそらくこのユーティリティに感謝するでしょう!

3
カーネル:名前空間のサポート
Linuxカーネルの「ネームスペースサポート」機能の正確な意味を知りたい。カーネル3.11.1(現時点で最新の安定したカーネル)を使用しています。 無効にすることにした場合、システムの変更に気付きますか? 誰かが名前空間を使用することに決めた場合NAMESPACES=Y、カーネルでコンパイルするだけで十分ですか、それともユーザースペースツールも必要ですか?

1
Linux名前空間でchrootを実行する方法は?
Linuxの名前空間について読んだ後、他の多くの機能の中でも、chrootに代わるものであるという印象を受けました。たとえば、この記事では: [名前空間の]その他の用途には、単一ディレクトリ階層の一部へのプロセスの[...] chroot()スタイルの分離が含まれます。 ただし、たとえば次のコマンドを使用してマウント名前空間を複製すると、元のルートツリー全体が表示されたままになります。 unshare --mount -- /bin/bash 元のネームスペースと共有されていない新しいネームスペースで追加のマウントを実行できるようになったことを理解しているため、これにより分離が可能になりますが、ルート/etcは同じです。たとえば、両方のネームスペースで同じです。chrootルートを変更する必要がありますか、それとも代替手段がありますか? 私はこの質問が答えを提供することを期待していましたが、答えはchroot再びのみを使用します。 編集#1 に言及した削除済みのコメントがありましたpivot_root。これは実際にはの一部でlinux/fs/namespace.cあるため、実際には名前空間の実装の一部です。これはのみでルートディレクトリを変更することを示唆しているunshareとmount、より巧妙な- -のバージョンで可能ではありませんが、名前空間は自身を提供しますchroot。それでもchroot、ソースコードを読み取った後でも(セキュリティやより良い分離などの意味で)、それと根本的に異なるこのアプローチの主要なアイデアは得られません。 編集#2 これはこの質問の複製ではありません。回答からすべてのコマンドを実行した後、別の/tmp/tmp.vyM9IwnKuY(または同様の)がありますが、ルートディレクトリは同じままです。
14 chroot  namespace 


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

2
マウントネームスペースの外側でバインドマウントが見えるのはなぜですか?
そこで、Linuxのマウント名前空間がどのように機能するかを把握しようとしています。そこで、私は少し実験をして、2つのターミナルを開き、次のコマンドを実行しました。 ターミナル1 root@goliath:~# mkdir a b root@goliath:~# touch a/foo.txt root@goliath:~# unshare --mount -- /bin/bash root@goliath:~# mount --bind a b root@goliath:~# ls b foo.txt ターミナル2 root@goliath:~# ls b foo.txt ターミナル2でマウントが見えるのはなぜですか?これはマウント名前空間の一部ではないため、ここではディレクトリが空であると思われました。また、でオプションを渡し-o shared=noて使用しようとしましたが、同じ結果が得られました。--make-privatemount 私は何が欠けていますか、どうすれば実際にプライベートにすることができますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.