आपकी कमांड को अधिक जानकारी देनी होगी। यह पहले चर्चा की गई है (लेकिन मुझे कोई डुप्लिकेट नहीं दिखता )।
उदाहरण के लिए,
उदाहरण के लिए, 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
आगे की पढाई: