स्मार्टओएस पर निर्यात होने पर एसएमएफ मेनिफ़ेस्ट हारिंग कॉन्फ़िगरेशन डेटा क्यों है?


10

मैं जॉयंट की बेस 64 1.8.1 स्मार्टओएस छवि पर एसएमएफ (सर्वर प्रबंधन सुविधा) के तहत एक सर्वर प्रक्रिया चला रहा हूं।

स्मार्टओएस के साथ अकुइन्टेड नहीं उन लोगों के लिए, यह केवीएम के साथ इलुमोस का क्लाउड-आधारित वितरण है। लेकिन अनिवार्य रूप से यह सोलारिस की तरह है और ओपनसोलारिस से विरासत में मिला है। यहां तक ​​कि अगर आपने स्मार्टओएस का उपयोग नहीं किया है, तो मैं सर्वरफॉल्ट पर कुछ सोलारिस ज्ञान में टैप करने की उम्मीद कर रहा हूं।

मेरा मुद्दा यह है कि मैं चाहता हूं कि एक अनपेक्षित उपयोगकर्ता को एक सेवा को फिर से शुरू करने की अनुमति दी जाए जो उनके पास है। मैंने RBAC का उपयोग करके /etc/security/auth_attrऔर उस प्राधिकरण को अपने उपयोगकर्ता के साथ जोड़ने और उस प्राधिकरण को जोड़ने का काम किया है ।

मैंने फिर सेवा के लिए अपने SMF मेनिफ़ेस्ट में निम्नलिखित शामिल किया:

<property_group name='general' type='framework'>
  <!-- Allow to be restarted-->
  <propval name='action_authorization' type='astring'
    value='solaris.smf.manage.my-server-process' />
  <!-- Allow to be started and stopped -->
  <propval name='value_authorization' type='astring'
    value='solaris.smf.manage.my-server-process' />
</property_group>

और आयात होने पर यह अच्छी तरह से काम करता है। मेरे unprivileged उपयोगकर्ता को अपनी स्वयं की सर्वर प्रक्रिया को पुनरारंभ करने, प्रारंभ करने और रोकने की अनुमति है (यह स्वचालित कोड परिनियोजन के लिए है)।

हालाँकि, अगर मैं SMF मेनिफेस्ट को निर्यात करता हूं, तो यह कॉन्फ़िगरेशन डेटा चला गया है ... मैं उस अनुभाग में सभी देख रहा हूं:

<property_group name='general' type='framework'>
  <property name='action_authorization' type='astring'/>
  <property name='value_authorization' type='astring'/>
</property_group>

क्या किसी को पता है कि ऐसा क्यों हो रहा है? क्या मेरा सिंटैक्स गलत है, या मैं केवल एसएमएफ का गलत तरीके से उपयोग कर रहा हूं?


1
हम्म टिप्पणियाँ बिना किसी शब्द या उल्लेख के यहाँ से गायब हो गई लगती हैं।
29:12

जवाबों:


16

क्योंकि svccfg (1M) टूट गया है, और मैंने इसे तोड़ दिया।

2007 में वापस, मैंने SMF में एक विशेषता जोड़ी, जिसमें उन संपत्ति समूहों के लिए अनुमति दी गई, जिनमें संवेदनशील जानकारी हो सकती है, केवल उचित विशेषाधिकार वाले उपयोगकर्ताओं द्वारा पठनीय। विचार यह था कि आप एक संपत्ति समूह में "read_authorization" संपत्ति जोड़ सकते हैं, और कोई भी जो न तो विशेषाधिकार प्राप्त था (मूल रूप से, मूल) और न ही उस संपत्ति द्वारा नामित प्राधिकरणों में से एक के कब्जे में किसी भी संपत्ति के मूल्यों को पढ़ने में असमर्थ होगा समूह में। इसे इस कमिट के तहत एकीकृत किया गया था , और इसका इस्तेमाल (कम से कम) सन ZFS स्टोरेज उत्पादों द्वारा LDAP पासवर्ड जैसी चीजों को स्टोर करने के लिए किया जाता है।

उस काम के हिस्से के रूप में, हम यह सुनिश्चित करना चाहते थे कि विशेषाधिकार प्राप्त उपयोगकर्ता भी जो इन मूल्यों को पढ़ सकते हैं, गलती से किसी सेवा की स्थिति का निर्यात करके या SMF रिपॉजिटरी का संग्रह बनाकर उन्हें उजागर नहीं करेंगे। इसलिए मैंने svccfg में एक्सपोर्ट और आर्काइव कमांड्स में '-a' फ्लैग जोड़ा, जो स्पष्ट रूप से सभी प्रॉपर्टी वैल्यूज़ को एक्सपोर्ट करेगा, और जो भी रीड-प्रोटेक्टेड थे, उन्हें बाहर करने के लिए डिफॉल्ट को बदल दिया।

दुर्भाग्य से, यह प्रतिबंध सही ढंग से लागू नहीं किया जा रहा है; इस मामले में, हम केवल "सामान्य" संपत्ति समूह में कुछ चुनिंदा संपत्तियों को मानों के साथ निर्यात करने से मना करते हैं। बाकी को बिना किसी मान के निर्यात किया जाता है, जो कि आप देख रहे हैं। और दुर्भाग्य से, -a विकल्प का उपयोग करने से यहां मदद नहीं मिलेगी, क्योंकि जब तक हम संबंधित बिंदु तक पहुंचते हैं, तब तक हमारे पास यह जानने के लिए आवश्यक संदर्भ नहीं होता है कि आपने इसे पारित कर दिया है। यह सवाल करना भी उचित है कि क्या इस ध्वज को इन मूल्यों को उजागर करने के लिए आवश्यक होना चाहिए: सेवा राज्य को बदलने की अनुमति देने वाले प्राधिकरणों की पहचान वास्तव में संवेदनशील है, और एक हमलावर के लिए उपयोगी होगी। कोई संदेह नहीं है कि जब मेरे दिमाग में यह लिखा था, और जब तक यह स्पष्ट रूप से वांछित नहीं है, तब तक दूसरों के दृष्टिकोण से इसे प्रतिबंधित करना उचित है। लेकिन S10 के पूर्व संस्करणों में, निर्यात किए गए XML और अभिलेखागार में यह निहित था, इसलिए यह निश्चित रूप से एक असंगत परिवर्तन था। उसके बारे में परेशान होने के लिए आपको माफ़ किया जाएगा। लेकिन यहाँ वास्तविक समस्या यह है कि -एक काम नहीं करता है जब प्रश्न में संपत्ति समूह "सामान्य" होता है। आप इसे हिट करने वाले पहले व्यक्ति कैसे हैं, मुझे पता नहीं है।

आप इस मुद्दे का पालन इसके पृष्ठ पर कर सकते हैं, यहाँ । इस बीच, आप उत्पन्न XML में गुणों के मानों को मैन्युअल रूप से जोड़कर इसके चारों ओर काम करने पर विचार कर सकते हैं। ध्यान दें कि यदि आवश्यक हो तो आप उन्हें svcprop (1) के माध्यम से भी पढ़ सकते हैं। आपके पास मेरी क्षमायाचना है। इस सवाल को मेरे ध्यान में लाने के लिए डियार्ड्रे स्ट्रेगन का धन्यवाद।


1
वाह। धन्यवाद कीथ यह देखते हुए कि आप उस लड़के हैं जिसने मूल कोड लिखा है, मुझे पूरा यकीन है कि मैं इस उत्तर को सही रूप से चिह्नित कर सकता हूं :-) इस मुद्दे की विस्तृत पृष्ठभूमि के लिए बहुत बहुत धन्यवाद।
स्कॉट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.