Capistrano معلقة عند المطالبة بكلمة مرور Sudo إلى مربع Ubuntu

StackOverflow https://stackoverflow.com/questions/431925

  •  08-07-2019
  •  | 
  •  

سؤال

لدي وصفة نشر Capistrano التي كنت أستخدمها لبعض الوقت لنشر تطبيق الويب الخاص بي ثم إعادة تشغيل Apache/Nginx باستخدام أمر sudo. يتم معلقة في الآونة الأخيرة CAP عندما أحاول تنفيذ أوامر SUDO هذه. أرى الإخراج: "كلمة مرور [Sudo] لـ" مع اسم الخادم الخاص بي وتسجيل الدخول عن بُعد ، ولكن هذا ليس موجه تسجيل الدخول الآمن. قذيفة CAP هي مجرد معلقة في انتظار المزيد من الإخراج ولا تسمح لي بكتابة كلمة المرور الخاصة بي لإكمال أمر SUDO عن بُعد.

هل هناك طريقة لإصلاح هذا أو عمل لائق؟ لم أكن أرغب في إزالة موجه Sudo Password لمستخدمي عن بُعد لأوامر إعادة التشغيل على الويب.

هل كانت مفيدة؟

المحلول

يبدو أن هذا يحدث عند الاتصال بآلات CentOS أيضًا. أضف السطر التالي في ملف نشر Capistrano الخاص بك:

default_run_options[:pty] = true

تأكد أيضًا من استخدام sudo المساعد بدلاً من التنفيذ sudo في أوامر التشغيل مباشرة. فمثلا:

# not
run "sudo chown root:root /etc/my.cnf"

# but
sudo "chown root:root /etc/my.cnf"

نصائح أخرى

قد تكون النصيحة الأخرى سليمة ، لكنني وجدت أنه بمجرد تحديث Capistrano 2.5.3 ، ذهبت المشكلة. يجب أن أتأكد من أنني أتوقف عن تشغيل الإصدارات الافتراضية من الأدوات التي جاءت مع O/S.

# prevent sudo prompting for password
set :sudo_prompt, ""
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top