web-dev-qa-db-ja.com

CentOS 7.4でユーザー名前空間を有効にしても安全ですか?

CentOSマシンでBrave Browserを使用しようとしていますが、実行しようとすると次のエラーが表示されます。

[19576:19576:0208/180128.818448:FATAL:zygote_Host_impl_linux.cc(126)]使用可能なサンドボックスがありません!カーネルを更新するか、SUIDサンドボックスを使用した開発の詳細について https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md を参照してください。危険な生活をしたいがすぐに回避策が必要な場合は、-no-sandboxを使用してみてください。魚:「./brave」はシグナルSIGABRT(中止)で終了

プロジェクトのgitページは、サンドボックス化についてエラーが発生する可能性があると述べ、その解決策を提案しました。

これが言うことです:

注:Braveが起動せず、サンドボックス化に関するエラーが表示される場合は、カーネルでユーザーを有効にする必要がある場合があります。 --no-sandboxフラグを指定して実行することはお勧めしません!

今、私は3つの主な質問があります:

1)ユーザーは正確に何をしますか?ユーザー名前空間のmanページを読んでみましたが、少し複雑になりましたので、説明をお願いします。

2)ユーザーを有効にしても問題ありませんか、それとも問題が発生する可能性がありますか?

3)よろしければ、どうすればよいですか?これは私が見つけた方法ですが、それがそれを行う最善の方法であるかどうかはわかりません。

https://luppeng.wordpress.com/2016/07/08/user-namespaces-with-cent-os-7-rhel/

3

名前空間は、LXCやdockerなどのコンテナーで使用されるカーネル機能です。 PIDネームスペース、ユーザーネームスペースなど、いくつかの種類があります。そして、あなたの言う通り、最初はかなり複雑です。この古いブログ投稿には、コンテナに役立つ理由がよく説明されています。 https://rhelblog.redhat.com/2015/07/07/whats-next-for-containers-user-namespaces/ =

それで、なぜこれをしたいのですか?ええと、これはコンテナー内のルートアクセスを提供する場合に特に便利です。コンテナーAのルートユーザー(uid 0)がuid 1000にマップし、コンテナーBのルートがコンテナー外のユーザーID 2000にマップするとします。ネットワークポートマッピングと同様に、これにより管理者は、基になるシステムでuid 0を付与せずに、コンテナー内の誰かにuid 0(ルート)を付与できます。また、コンテナー内でユーザーを自由に追加/削除することもできます。

RHEL 7.4では、カーネルを含める必要がありますが、構成によって無効になっている必要があります(使用可能な名前空間の数はデフォルトでゼロに設定されています)。単に実行する:

echo 10000 > /proc/sys/user/max_user_namespaces
8
HoD