2015-11-19 6 views
7

स्टोर करने के लिए कैसे एक लिनक्स कमांड परिणाम चर में स्टोर करना संभव है?कठपुतली में लिनक्स कमांड आउटपुट को एक चर में

मैं एक चर में एक एन्क्रिप्टेड मान को स्टोर करने की कोशिश कर रहा हूं। एन्क्रिप्ट करने के लिए मैं base64 कमांड का उपयोग कर रहा हूँ। इसे चर में संग्रहीत करने के लिए, मैं जेनरेट विधि का उपयोग कर रहा हूं। लेकिन मैं एक मूल्य स्टोर करने में सक्षम नहीं हूँ।

$secretvalue = generate("/bin/bash","-c","/usr/bin/echo ${password} | /usr/bin/base64") 
+8

base64 है ** नहीं ** एक एन्क्रिप्शन। –

उत्तर

9

आप कठपुतली मास्टर सर्वर पर किसी भी आदेश पर अमल करना चाहते हैं आप ERB टेम्पलेट के अंदर और रूबी कोड के साथ inline_template समारोह का उपयोग कर सकते शेल कमांड निष्पादित के लिए:

$password = "12345" 

$secretvalue = inline_template("<%= `/bin/echo ${password} | /usr/bin/base64` %>") 

notify { "STDOUT: ${secretvalue}": } 

पी.एस. तुम सिर्फ Base64 प्रारूप करने के लिए स्ट्रिंग सांकेतिक शब्दों में बदलना चाहते हैं आप puppetlabs-stdlib मॉड्यूल आयात कर सकते हैं और इसे से base64 समारोह का उपयोग करें:

$secretvalue = base64('encode', $password) 
+0

क्या कठपुतली क्लाइंट होस्ट पर कुछ बैश कमांड लॉन्च करना और इसे चर में सहेजना संभव है? – ipeacocks

+2

हां, लेकिन केवल आपके कस्टम 'तथ्यों 'के माध्यम से। –

संबंधित मुद्दे