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 बिट पर हूं।

जवाबों:


6

मैं 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
जबकि थॉमस ने बहुत व्यापक जवाब दिया, इसका समाधान इतना सीधा नहीं है। मुझे इन दो आदेशों तक पहुंचने तक बहुत कोशिश और त्रुटि करनी पड़ी, जो वास्तव में काम कर रहे हैं
Adelin

मेरे लिए भी एक सेंटो बॉक्स में काम किया।
ramires.cabral

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 सेंट है। यदि आप किसी तरह सेलाइन को अक्षम करते हैं, तो आप इस समस्या का सामना कर सकते हैं। इसे हल करने के लिए, बस सेलिनक्स को वापस सामान्य में बदलें। खुला / etc / selinux / config और परिवर्तन

SELINUX निष्क्रिय =

वापस

SELINUX = लागू करने

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.