Dockerコンテナ CentOS7.9 で SELINUX を有効化したいのですが有効化することができません。
通常の「有効化・無効化」以前の問題のように見えます。
有効化対処方法を知っていたら教えてください。
■ホスト環境
Windows10 Pro 2021/09/04 現在 Windows Update最新
Dockerバージョン: 20.10.7
Dockerエンジン:WSL2
c:\> wsl -l -v
NAME STATE VERSION
docker-desktop Running 2
Dockerコンテナ:centos:centos7(公式イメージ)
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 6733 [OK]
■コンテナ環境
SELINUX関連パッケージ導入済リスト
・selinux-policy-3.13.1-268.el7_9.2.noarch
・policycoreutils-devel-2.5-34.el7.x86_64
・libselinux-2.5-15.el7.x86_64
・libselinux-devel-2.5-15.el7.x86_64
・audit-libs-2.8.5-4.el7.x86_64
・libselinux-python-2.5-15.el7.x86_64
・policycoreutils-2.5-34.el7.x86_64
・audit-libs-python-2.8.5-4.el7.x86_64
・selinux-policy-devel-3.13.1-268.el7_9.2.noarch
・policycoreutils-newrole-2.5-34.el7.x86_64
・selinux-policy-targeted-3.13.1-268.el7_9.2.noarch
・selinux-policy-mls-3.13.1-268.el7_9.2.noarch
・libselinux-utils-2.5-15.el7.x86_64
・policycoreutils-python-2.5-34.el7.x86_64
■動作現況
コンテナ側 CentOS7.9
コンテナ起動時は systemctl が機能するよう --previleged 指定で /sbin/init を実行してます
> docker run -itd --privileged -p 22222:22 centos:centos7 /sbin/init
# cat /etc/selinux/config
-----------------------------
SELINUX=enforcing
SELINUXTYPE=targeted
-----------------------------
# setenforce 1 ; getenforce ; sestatus
setenforce: SELinux is disabled ←有効化しない
Disabled
SELinux status: disable
No.1ベストアンサー
- 回答日時:
SELINUXはLinuxカーネル全体の動作モードであり、dockerコンテナは究極的にはLinuxプロセスに過ぎません。
なのでDockerコンテナでSELINUXというのは根本的に無理があります。ホスト側でやることになるでしょう。ただそもそもwsl2のLinuxカーネルはSELINUXモードにできるんですかね。wsl2ってWindowsファイルも見えるので強制アクセス制御って難しいと思うんですけど。
DockerコンテナってLinuxプロセスの隔離環境に過ぎないのでカーネル自体に手を入れる必要がある機能を扱うのは難しいのです。
こういうことをやるならWSL2やDockerではなく、Hyper-V上の仮想マシンにCentOS7.9を入れてやりましょう。これなら小細工しなくてもsystemctlも普通に機能しますし。
ありがとうございます。
そういうことですね。
文献が見つからないのでで、コマンド結果からの判断になりますが現時点では WSL LinuxカーネルがSELINUXに対応してなさそうです。
# uname -msrv ; id -Z
Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020 x86_64
id: --context (-Z) works only on an SELinux-enabled kernel
p.s.
>Hyper-V上の仮想マシンにCentOS7.9を入れてやりましょう。これなら小細工しなくてもsystemctlも普通に機能しますし。
まぁそうなんですけど、各種検証時にサクッと linux 環境上げる事ができる/コンテナ落とせば検証ゴミ残らない/母艦PCリソース節約したい/ など諸事情がありまして。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カーネル再構築でのエラー
-
Linux 32Bitと64Bitのメモリー...
-
linux = unix?
-
KNOPPIXが起動しない場合の対処...
-
SolarisとLinuxの違い
-
カーネルバッファとは何でしょうか
-
rdevコマンドについて
-
LinuxとWindowsの違い~Linuxは...
-
Linuxって何?
-
CentOSでデバイスを無効にする方法
-
SunOS5.x と Solarisの違いは?
-
OSについての研究
-
仮想サーバ上のリナックスに fs...
-
ubuntu 初期化について
-
外部レポジトリとは
-
Ubuntu on Xorgのログインについて
-
ubuntu8.0.4にopenssl-develを...
-
Debianにpstreeをインストール...
-
CentOSのセキュリティパッチ適...
-
パソコンでゲームをプレイしよ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
/dev/nvme0n1p2 clean と表示さ...
-
パフォーマンスモニタの%Proces...
-
カーネルアップグレード後、una...
-
カーネルバッファとは何でしょうか
-
romfsってなんですか?
-
KNOPPIXが起動しない場合の対処...
-
SolarisとLinuxの違い
-
Windows Vistaは本当にゴミOSな...
-
BSDでフォーマットされたHDDは...
-
/proc/sys/net/ipv4/route/flus...
-
Dockerコンテナ(centos7.9)の...
-
VMWare上のkernel再構築
-
Linux 32Bitと64Bitのメモリー...
-
linuxカーネルのダウングレード...
-
Linuxでcrcエラー?
-
デュアルコアCPUをシングルにし...
-
UNIXとBSDとLinuxの違いを小学...
-
『カーネルとの通信中にエラー...
-
Windows8 ntoskrnl.exeについて
-
魔改造版Windows 2000をインス...
おすすめ情報