سؤال جعل مثيل أمازون EC2 نطلب كلمة مرور sudoing


لقد قمت بإطلاق نسخة Amazon EC2 من Ubuntu Server 12.04 وكلها بخير باستثناء ، على عكس Ubuntu المحلي الخاص بي ، فإن مثيل EC2 لا يسأل عن أي كلمات مرور عندما أختطف مع سطر الأوامر أو أصبح جذر. حاولت

passwd
# asks for a new password, I supply one
sudo -i
# always makes me root right away
passwd
# asks for a new password, I supply one
passwd ubuntu
# asks for a new password, I supply one

(ubuntu هو المستخدم الافتراضي الذي يتم تثبيت المثيل عليه.) ​​حتى الآن ، الحدث بعد إعادة التشغيل ، لم ألاحظ أي اختلاف ، لا يزال لا يسأل عن أي كلمات مرور.

انها ليست كبيرة ولكني أعتقد أنني استخدمت فقط كيف يعمل أوبونتو المحلي.


4
2018-06-17 21:19


الأصل




الأجوبة:


ليس لدى EC2 طريقة سهلة لتزويدك بكلمة مرور آمنة لـ ubuntu المستخدم ، لذلك فإن الإعداد الافتراضي هو السماح باستخدام كلمة مرور sudo بعد الاتصال بشكل آمن مع المفتاح الخاص ssh.

إذا قمت بإضافة كلمة مرور إلى ubuntu المستخدم ، يمكنك أن تطلب ذلك sudo عن طريق التحرير /etc/sudoers.d/90-cloud-init-users وتغيير:

ubuntu ALL=(ALL) NOPASSWD:ALL

إلى:

ubuntu ALL=(ALL) ALL

يقوم هذا الأمر بإجراء هذا التعديل نيابةً عنك (بافتراض أن ملف sudoers الافتراضي لم يمسه):

sudo perl -pi -e 's%NOPASSWD:%%' /etc/sudoers.d/90-cloud-init-users

للسلامة ، احتفظ بقذيفة منفصلة مسجّلة كجذر حتى تتمكن من إصلاح الملف واستعادته إذا قمت بتحريره بشكل غير صحيح وكسر sudo.

إضافة كلمة مرور لـ sudo يزيد من الأمن العام للنظام الخاص بك.

لا يزال من المستحسن عدم السماح باستخدام كلمة مرور لتسجيلات الدخول إلى ssh. حافظ على أن يقتصر على مفاتيح خاصة ssh.


4
2018-06-17 22:03



إذا كنت تستخدم sed لن تضطر إلى التثبيت perl. محاولة sudo sed -re 's/NOPASSWD://' -i.`date -Iseconds` /etc/sudoers.d/90-cloud-init-users (هذا سيجعل ملف نسخة احتياطية كذلك). - Simon Woodside