2012-08-09 8 views
39

मुझे जेनकिन्स में डिफ़ॉल्ट उपयोगकर्ता की बजाय रूट के रूप में एक खोल स्क्रिप्ट चलाने की आवश्यकता है। मुझे बदलने की क्या ज़रूरत है?जेनकींस में रूट के रूप में स्क्रिप्ट कैसे चलाएं?

मेरे sudoers फ़ाइल इस तरह है:

# User privilege specification 
root ALL=(ALL) ALL 
igx  ALL=(ALL) ALL 
%wheel ALL=(ALL) ALL 

# Allow members of group sudo to execute any command 
# (Note that later entries override this, so you might need to move 
%sudo ALL=(ALL) ALL 
# 
#includedir /etc/sudoers.d 

# Members of the admin group may gain root privileges 
%admin ALL=(ALL) NOPASSWD:ALL 
root ALL=(ALL) ALL 
jenkins ALL=NOPASSWD: /var/lib/jenkins/workspace/ing00112/trunk/source/ 
jenkins ALL=(ALL) NOPASSWD:ALL 
#Defaults:jenkins !requiretty 
+0

के संभावित डुप्लिकेट [सुपर उपयोगकर्ता के रूप में जेनकींस को चलाने के लिए कैसे?] (Http://stackoverflow.com/questions/ 11841140/कैसे-टू-रन-जेनकींस-ए-सुपर-यूजर) –

उत्तर

67

आप स्क्रिप्ट sudo का उपयोग कर चलाना चाहिए:

sudo /path/to/script 

लेकिन इससे पहले कि आप /etc/sudoers में स्क्रिप्ट tun को jenkins अनुमति देनी होगी।

jenkins ALL = NOPASSWD: /path/to/script 
+0

@ इगोर धन्यवाद ... आप 100% सही हैं ... और मैंने सुपर कमांड के रूप में स्क्रिप्ट चलाने के लिए कमांड कमांड का उपयोग किया :) – Mahesh

+2

यदि आप चाहते हैं शेल स्क्रिप्ट को निष्पादित करें: "जेनकिन्स ऑल = एनओपीएएसएसडब्ल्यूडी:/बिन/श,/पथ/टू/स्क्रिप्ट" और फिर आप "सूडो श/पथ/टू/स्क्रिप्ट" –

+2

को केवल एक कमांड http://www.atrixnet.com/allow-an-unprivileged-user-to-run-a-certain-command-with-sudo/ मदद कर सकते हैं; मेरे मामले में मुझे एक स्क्रिप्ट का उपयोग करने की आवश्यकता नहीं है लेकिन एक कमांड 'एसपीपी'; आप सुझाव भी सहायक थे; thx – Yauhen

4

मुझे पता है कि मैं इस प्रश्न पर पार्टी के लिए देर हो रही है, लेकिन संदर्भ खातिर मैंने सोचा था कि मैं यहाँ में मेरी 2c फेंक चाहते हैं: मैं SSH प्लगइन का उपयोग जेनकींस यह पूरा करने के लिए (केवल एक कॉन्फ़िगर लोकलहोस्ट लक्ष्य)। इस तरह, मैं बाहरी स्क्रिप्ट का आह्वान करने के लिए सूडो का उपयोग करने के बजाय सीधे जेनकींस (सामान्य "निष्पादन खोल" चरण) के भीतर स्क्रिप्ट को शामिल कर सकता हूं।

7

@ इगोर चुबिन का जवाब 100% सही है, लेकिन कभी भी सामान्य संपादक के साथ सुडॉयर फ़ाइल नहीं खोलें। हमेशा visudo

का उपयोग सिर्फ टाइप

sudo visudo 

इस /etc/sudoers के लिए ले जाएगा और बचत पर यह सुनिश्चित करें कि स्वरूपण में कोई त्रुटि है कि वहाँ कर देगा।

अगर आप sudoer फ़ाइल में एक त्रुटि बनाने के लिए, आप sudo पहुंच समाप्त हो जाएगी, इसलिए हमेशा का उपयोग visudo

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