एक RPM .spec में SELinux संदर्भ सेट करने का उचित तरीका क्या है?


14

मैं एक RPM निर्माण करने के लिए है कि लक्ष्य RHEL4 और 5. अभी मैं फोन कोशिश कर रहा हूँ chconसे %postलेकिन एक से अधिक Google प्रविष्टियों कहते हैं कि "कि नहीं आप इसे कैसे करना चाहिए रहे हैं" पर बहुत सीमित मदद से सही तरीका है। मैंने यह भी देखा है कि fixfiles -R mypackage checkफाइलें सही होने पर गलत कहती हैं (जैसा कि अपेक्षित है; RPM DB को यह एहसास नहीं है कि मुझे क्या चाहिए) ।।

  • मैं विशेष रूप से आरएचईएल 4 कहता हूं क्योंकि इसमें ऐसा नहीं है semanageजो इसे करने के उचित तरीकों में से एक है। (नई नीति जोड़ें और फिर restoreconअपनी निर्देशिकाओं पर चलें %post।)

    • मुझे भी अपने स्वयं के संदर्भ की आवश्यकता नहीं है, बस httpd_cache_tएक गैर-मानक निर्देशिका पर।
  • मैंने यह भी देखा है "चलो cpioइसका ध्यान रखें" - लेकिन फिर मुझे एक नई समस्या है कि एक गैर-रूट RPM बिल्डिंग उपयोगकर्ता chconबिल्ड निर्देशिकाओं पर नहीं चल सकता है । मैंने धोखा दिया और sudoकल्पना की फ़ाइल में था , लेकिन यह वैसे भी मायने नहीं रखता था।

जवाबों:


9

फेडोरा पैकेजिंग दिशानिर्देश एक मसौदा दस्तावेज संकुल में SELinux संभाल करने का तरीका बताने है, और वे का उपयोग semanage। बिना semanage, ऐसा लगता है कि आरएचईएल 4 का समर्थन एक हैक होने जा रहा है, और इसके आसपास कोई रास्ता नहीं है।

के अनुसार आरपीएम 4.9.0 रिलीज नोट्स , वहाँ SELinux नीतियों के प्रबंधन के लिए आरपीएम में सीधे कुछ समर्थन किया गया है, लेकिन यह ऐतिहासिक रूप से टूट कर दिया गया है

  • RPM के पुराने संस्करणों ने SELinux नीतियों को पैकेज हेडर में संलग्न करने के लिए एक% नीति निर्देश का समर्थन किया, लेकिन यह वास्तव में किसी भी चीज के लिए कभी भी उपयोग करने योग्य नहीं था। ऐनक में% नीति निर्देश के किसी भी उपयोग को हटा दिया जाना चाहिए क्योंकि यह अप्रयुक्त निर्देश RPM 4.9.0 और बाद के साथ निर्माण को रोकता है, जबकि पुराने संस्करणों के लिए कुछ भी नहीं कर रहा है।
  • RPM 4.9.0 से शुरू होकर, SELinux पॉलिसी पैकेजिंग को कल्पना में नए% सेपोलिश सेक्शन के माध्यम से समर्थित किया गया है। इस तरह के पैकेज का निर्माण नहीं किया जा सकता है, लेकिन पुराने RPM संस्करणों पर भी इंस्टॉल किए जा सकते हैं (लेकिन शामिल नीतियों का किसी भी तरह से उपयोग नहीं किया जाएगा)।

मैं वहाँ फ़ाइल संदर्भों का कोई जिक्र नहीं देखते हैं, और मैं (जैसे प्रत्यक्ष फ़ाइल संदर्भ समर्थन का कोई उल्लेख ढूँढने में सक्षम नहीं किया गया है %attrमें %filesखंड)। किसी भी मामले में, ऐसा लगता है कि आरएचईएल 6 केवल आरपीएम 4.8.0 पर है, इसलिए (जब तक कि मैंने कुछ याद नहीं किया है) semanageमार्ग उतना ही अच्छा है क्योंकि हम आरएचईएल 7 तक कम से कम करने में सक्षम होने जा रहे हैं।

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