2013-05-06 9 views
5

मैं सिर्फ Jenkins out of nowhere starts failing with sudo: no tty present and no askpass program specifiedजेनकिंस मेरे एसक्यूएल को फिर से शुरू करते समय विफल रहता है "sudo: no tty present और कोई askpass प्रोग्राम निर्दिष्ट नहीं है क्षमा करें, पुनः प्रयास करें।"

लेकिन दुर्भाग्य है कि didn पर जेनकींस विन्यस्त और में दिए चरणों मैं जेनकींस पुनः आरंभ करने की कोशिश कर रहा हूँ पूर्व निर्माण, लेकिन मैं निम्न त्रुटि

Commencing build of Revision c5b9f8daac092efc5396d80f568a2cf89ae8b697 (origin/HEAD, origin/master) 
Checking out Revision c5b9f8daac092efc5396d80f568a2cf89ae8b697 (origin/HEAD, origin/master) 
No change to record in branch origin/HEAD 
No change to record in branch origin/master 
[webapp] $ /bin/sh -xe /tmp/hudson5215632082686866774.sh 
+ sudo /etc/init.d/mysql restart 
sudo: no tty present and no askpass program specified 
Sorry, try again. 
sudo: no tty present and no askpass program specified 
Sorry, try again. 
sudo: no tty present and no askpass program specified 
Sorry, try again. 
sudo: 3 incorrect password attempts 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 

मैं googled साथ खत्म हो और देखा कुछ जवाब 'टी मेरी मदद

मेरे/etc/sudoers इस

# 
# This file MUST be edited with the 'visudo' command as root. 
# 
# Please consider adding local content in /etc/sudoers.d/ instead of 
# directly modifying this file. 
# 
# See the man page for details on how to write a sudoers file. 
# 
Defaults  env_reset 
Defaults  secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 

# Host alias specification 

# User alias specification 

# Cmnd alias specification 

# User privilege specification 
root ALL=(ALL:ALL) ALL 

# Members of the admin group may gain root privileges 
%admin ALL=(ALL) NOPASSWD: ALL 

# Allow members of group sudo to execute any command 
%sudo ALL=(ALL:ALL) ALL 

# See sudoers(5) for more information on "#include" directives: 

#includedir /etc/sudoers.d 

उत्तर

1

तरह लग रहा है "आईडी" अल्पविराम का उपयोग करें nd और आउटपुट पेस्ट करें। केवल अगर आप व्यवस्थापक समूह में हैं तो आपको पासवर्ड की आवश्यकता नहीं है, लेकिन अन्य सभी के लिए भले ही आपके पास पहुंच है लेकिन आपको सूडो पासवर्ड टाइप करना होगा। इस मामले में सुडो के पास पासवर्ड मांगने के लिए कोई टीटी नहीं है और इसलिए त्रुटि है।

एक समाधान हो सकता है, केवल mysql पुनरारंभ के लिए सुडो का उपयोग न करें, इस मामले में पूरी स्क्रिप्ट को सूडो "सूडो {आपकी स्क्रिप्ट पथ}" के रूप में चलाने के लिए टर्मिनल को पासवर्ड मांगने के लिए टर्मिनल होगा।

+0

इस uid = 108 (जेनकींस) gid = 65534 (nogroup) समूहों = 65534 (nogroup), 111 (व्यवस्थापक) मुझे लगता है कि उपयोगकर्ता जेनकींस व्यवस्थापक समूह में है तो sudo नहीं है मुसीबत। जब आप कहते हैं, "इस मामले में सुडो के पास पासवर्ड मांगने के लिए कोई tty नहीं है और इसलिए त्रुटि" इसका क्या अर्थ है? मैं tty कैसे जोड़ूं? –

3

"कोई tty उपस्थित" त्रुटि इंगित करता है कि आपके पास आपकी सूडो फाइल में 'आवश्यकता' सेटिंग है। आपके मामले में, यह शायद /etc/sudoers.d में है। एक बार यह लाइन वहां है, इससे कोई फर्क नहीं पड़ता कि आप किस समूह में हैं - सुडो को जब भी इसे निष्पादित किया जाता है तो उसे एक टीटी की आवश्यकता होती है।

इसके आस-पास पहुंचने के लिए, आपको या तो कॉन्फ़िगरेशन फ़ाइल में आवश्यक पंक्ति को निकालना (या टिप्पणी करना) की आवश्यकता है, या अपने उपयोगकर्ता को आवश्यकता सेटिंग से बाहर करने के लिए एक लाइन जोड़ें। Disable requiretty per user

+1

मुझे यह समस्या है और मेरे पास/etc/sudoers या /etc/sudoers.d में किसी भी फ़ाइल में आवश्यक सेटिंग नहीं है (जिसमें टिप्पणियों के साथ केवल एक README फ़ाइल है)। – Vince

+1

डिफ़ॉल्ट आवश्यकता वाले मान आपके द्वारा उपयोग किए जा रहे लिनक्स डिस्ट्रो पर निर्भर करता है। अपनी सडोएर्स फ़ाइल में "डिफ़ॉल्ट: उपयोगकर्ता नाम! Needtty" पंक्ति जोड़ें और उपयोगकर्ता नाम को वास्तविक उपयोगकर्ता नाम से बदलें। – Barak

+0

धन्यवाद @ बराक। यह मेरे लिए हल हो गया। मैं उबंटू का उपयोग कर रहा हूं और मेरे 'मैन सूडर्स' का कहना है कि ज़रूरतमंद डिफ़ॉल्ट रूप से बंद है, लेकिन मुझे लगता है कि यह स्पष्ट रूप से अक्षम नहीं था क्योंकि आपने सुझाव दिया था कि आपने इसे मेरे लिए तय किया है। – Vince

3

निम्नलिखित को जोड़ कर: चूक: आप कि यहाँ करने के लिए कैसे देख सकते हैं! उपयोगकर्ता नाम आपके/etc/sudoers को आप त्रुटि नहीं मिलना चाहिए प्रमाणित लेकिन इस उपयोगकर्ता नाम एक के लिए पूछे बिना एक्सेस किया जा सकेगा पासवर्ड

मेरे आईडी आदेश रिटर्न
संबंधित मुद्दे

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