晴耕雨読

working in the fields on fine days and reading books on rainy days

CentOS 7の最小インストールで使用可能なSELinuxコマンドの一覧

CentOS 7をMinimalで最小インストールした場合に使用可能なSELinuxのコマンドを以下の表にまとめました(一部不足があります)。 最小インストールで使用可能なコマンドは「Yes」、使用不可は「No」です。

コマンド / [パッケージ] パス デフォルトで使用可能
chcon /bin/chcon Yes
[policycoreutils] - -
secon /bin/secon Yes
fixfiles /sbin/fixfiles Yes
genhomedircon /sbin/genhomedircon Yes
load_policy /sbin/load_policy Yes
restorecon /sbin/restorecon Yes
semodule /sbin/semodule Yes
sestatus /sbin/sestatus Yes
setfiles /sbin/setfiles Yes
setsebool /sbin/setsebool Yes
[libselinux] - -
sefcontext_compile /sbin/sefcontext_compile Yes
[libselinux-utils] - -
avcstat /sbin/avcstat Yes
getenforce /sbin/getenforce Yes
getsebool /sbin/getsebool Yes
matchpathcon /sbin/matchpathcon Yes
selabel_digest /sbin/selabel_digest Yes
selabel_lookup /sbin/selabel_lookup Yes
selabel_lookup_best_match /sbin/selabel_lookup_best_match Yes
selabel_partial_match /sbin/selabel_partial_match Yes
selinux_restorecon /sbin/selinux_restorecon Yes
selinuxconlist /sbin/selinuxconlist Yes
selinuxdefcon /sbin/selinuxdefcon Yes
selinuxenabled /sbin/selinuxenabled Yes
selinuxexeccon /sbin/selinuxexeccon Yes
setenforce /sbin/setenforce Yes
[checkpolicy] - -
checkmodule /bin/checkmodule No
checkpolicy /bin/checkpolicy No
sedismod /bin/sedismod No
sedispol /bin/sedispol No
[policycoreutils-python] - -
audit2allow /bin/audit2allow No
audit2why /bin/audit2why No
chcat /bin/chcat No
sandbox /bin/sandbox No
semodule_package /bin/semodule_package No
semanage /sbin/semanage No
[policycoreutils-devel] - -
sepolicy /bin/sepolicy No
[setools-console] - -
findcon /bin/findcon No
sechecker /bin/sechecker No
sediff /bin/sediff No
seinfo /bin/seinfo No
sesearch /bin/sesearch No
[setroubleshoot-server] - -
sealert /bin/sealert No
sedispatch /sbin/sedispatch No
setroubleshootd /sbin/setroubleshootd No
[policycoreutils-newrole] - -
newrole /usr/bin/newrole No


policycoreutils-pythonをrpmファイル経由でインストールする例

インターネットに接続していない最小インストールのサーバでも、semanageやaudit2allowコマンドが使用できるように、scp経由でrpmファイルをサーバに送ってローカルインストールする方法について説明します。

まず、同じバージョンのCentOS(検証サーバ)を用意し、yum install –downloadonly で rpm ファイルのダウンロードを行います。

~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

~]# mkdir semanage
~]# yum install --downloadonly --downloaddir=./semanage policycoreutils-python
~]# ls semanage
audit-libs-python-2.8.5-4.el7.x86_64.rpm
checkpolicy-2.5-8.el7.x86_64.rpm
libcgroup-0.41-21.el7.x86_64.rpm
libsemanage-python-2.5-14.el7.x86_64.rpm
policycoreutils-python-2.5-34.el7.x86_64.rpm
python-IPy-0.75-6.el7.noarch.rpm
setools-libs-3.3.8-4.el7.x86_64.rpm

~]# tar zcvf semanage.tar.gz ./semanage

検証サーバで rpm ファイルを固めた .tar.gz ファイルを本番サーバに scp で転送します。

$ scp root@検証サーバIP:/root/semanage.tar.gz ./

$ scp semanage.tar.gz root@本番サーバIP:~

展開して yum locallinstall で rpm ファイルをローカルインストールすれば、semanage や audit2allow コマンドが使えるようになります。

~]# tar zxvf semanage.tar.gz
~]# yum localinstall ./semanage/*.rpm

以上です。