chcon:ラベルのないファイル '/ usr / sbin / xrdp'に部分的なコンテキストを適用できません


9

このチュートリアルからxrdpをインストールするようにSELinuxを構成するためにこの行を実行しようとしているときはいつでも:

# chcon --type=bin_t /usr/sbin/xrdp
# chcon --type=bin_t /usr/sbin/xrdp-sesman

私はこれらのエラーを受け取ります:

chcon: can't apply partial context to unlabeled file '/usr/sbin/xrdp'
chcon: can't apply partial context to unlabeled file '/usr/sbin/xrdp-sesman'

私はCentOS 7.2 64ビットを使用しています。

回答:


5

私もCentOS 7を使用していますが、これでうまくいきます。

chcon -h system_u:object_r:bin_t:s0 /usr/sbin/xrdp
chcon -h system_u:object_r:bin_t:s0 /usr/sbin/xrdp-sesman

1
トーマスはかなり包括的な答えを出しましたが、解決策はそれほど簡単ではありません。実際に機能しているこれらの2つのコマンドに到達するまで、私は多くの試行錯誤を繰り返さなければなりませんでした
Adelin

4

コマンドはより多くの情報を提供する必要があります。これについては以前に説明しました(ただし、重複はありません)。

例えば、

たとえばls -lZ、サンプルリストのこれらのタグを示します。

$ ls -lZ msginit msgmerge msgunfmt
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0   msginit
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0   msgmerge
-rwxr-xr-x. root root unconfined_u:object_r:bin_t:s0   msgunfmt

そして、その議論のchconようなものを期待unconfined_u:object_r:bin_t:s0しています。A bin_tは部分的な情報です。

参照された手順は機能するはずであり、chcon冗長な使用が必要です。CentOS7を確認すると、たまたまxrdpインストールされており、リストに表示されます

$ ls -lZ xrdp xrdp-chansrv xrdp-sesman xrdp-sessvc
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       xrdp
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       xrdp-chansrv
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       xrdp-sesman
-rwxr-xr-x. root root system_u:object_r:bin_t:s0       xrdp-sessvc

system_uフィールドには、SELinuxのあるユーザーobject_rフィールドがある役割bin_tあるタイプs0(デフォルト)であるレベル。のファイルは、/usr/sbinによって示されるパターンからコンテキストを取得します semanage fcontext -l(ただし、一致するものがたくさんあります)。ガイドを以下では、あなたはのためのパターン削除したことがありxrdp、あるいはのために- /usr/sbin。ただし、次を使用してユーザーとロールを指定することにより、コマンドをより明示的にすることができますchcon

chcon -u system_u -r object_r --type=bin_t /usr/sbin/xrdp
chcon -u system_u -r object_r --type=bin_t /usr/sbin/xrdp-sesman

または、パターンはそのままで、(たとえば)ファイルをインストールするのではなく移動した場合は、次を使用して修復できます。

restorecon -v /usr/sbin/xrdp
restorecon -v /usr/sbin/xrdp-sesman

参考文献:


3
私はまだそれを取得しません、それを修正するコマンドを教えていただけますか?私はLinuxにはあまり慣れていないので、SELinuxもそうではない:(
TheOnlyOne

2

それは誰かを助けるかもしれないので、ここに私の簡単な2セントです。何らかの方法でselinuxを無効にした場合、この問題に直面する可能性があります。これを解決するには、selinuxを通常の状態に戻します。/ etc / selinux / configを開いて変更します

SELINUX =無効

戻る

SELINUX = enforcing

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.