كيفية تشغيل الأمر sudo بدون كلمة مرور على نظام لينكس

يمكنك تشغيل الأمر sudo بدون كلمة مرور بإضافة NOPASSWDقاعدة إلى سياسة sudoers. والطريقة الأكثر أمانًا هي السماح فقط بتنفيذ الأمر الإداري المطلوب تحديدًا، بدلًا من تعطيل طلب كلمة المرور لكل أمر sudo.

قبل إجراء أي تغيير، تذكر وظيفة هذا الإعداد: أي شخص أو برنامج يتحكم بحسابك المسجل دخولك قد يتمكن من تشغيل الأمر المسموح به بصلاحيات المستخدم الجذر دون الحاجة إلى مصادقة إضافية. يوثق دليل sudoersNOPASSWD هذا الخيار باعتباره الوسم الذي يُزيل المصادقة للأوامر المطابقة.

لماذا لا يُعد الأمر sudo -s طريقةً لتنفيذ أوامر sudo بدون كلمة مرور؟

sudo -sلا تُفعّل النصيحة القديمة بتشغيل الأمر sudo بدون كلمة مرور. -sيبدأ هذا الخيار جلسة طرفية باستخدام sudo، لكن سياسة sudo قد تتطلب منك المصادقة أولاً. قد ترى أيضاً تنفيذ عدة أوامر دون مطالبة أخرى، لأن sudo عادةً ما يخزن المصادقة الناجحة مؤقتاً. وهذا يختلف عن NOPASSWDالقاعدة الدائمة.

تشغيل أمر sudo محدد بدون كلمة مرور

يُمكّن هذا المثال المستخدم من alexإعادة تشغيل Nginx بدون كلمة مرور. استبدل اسم المستخدم والأمر والوسائط بقيم تُناسب نظامك.

1. تأكد من اسم المستخدم ومسار الأمر

قم بتشغيل الأوامر التالية بصفتك المستخدم العادي:

whoami
command -v systemctl

قد يُعيد الأمر الثاني قيمةً /usr/bin/systemctl. استخدم المسار الذي يُبلغه نظامك. يجب أن تُعرّف قواعد sudoers الأوامر بمسارها الكامل.

يعرض طرفية لينكس الأمر whoami والأمر systemctl -v لتحديد اسم المستخدم ومسار الأمر الكامل
تحقق من اسم الحساب والمسار الكامل للأمر قبل كتابة قاعدة sudoers.

2. أنشئ ملفًا مخصصًا لملفات sudoers الإضافية

بدلاً من التحرير /etc/sudoersالمباشر، استخدمه visudoمع ملف في /etc/sudoers.d:

sudo visudo -f /etc/sudoers.d/alex-nopasswd

عادةً ما تُدخل كلمة مرورك في هذه الخطوة من الإعداد. visudoيُفضّل استخدام الأمر `visudo` لأنه يتحقق من صحة الصيغة قبل قبول التغييرات. كما يُشير دليل Ubuntu `visudo`visudo إلى أنه يُقفل الملف أثناء التحرير ويتحقق من أخطاء التحليل.

فتح طرفية لينكس لفتح ملف sudoers.d مخصص باستخدام الأمر sudo visudo لتكوين sudo بدون كلمة مرور
افتح ملف sudoers منفصل visudoبدلاً من تعديل ملف السياسة الرئيسي باستخدام محرر نصوص عادي.

3. أضف قاعدة NOPASSWD الأضيق التي تحتاجها

بالنسبة لمثال إعادة تشغيل Nginx، أضف ما يلي:

alex ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx

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

إذا كنت تريد عمداً أن تتجاوز جميع أوامر sudo الخاصة بمستخدم واحد عملية المصادقة، فإن القاعدة العامة هي:

alex ALL=(ALL:ALL) NOPASSWD: ALL

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

محرر Nano يعرض قاعدة sudoers NOPASSWD لإعادة تشغيل nginx ومثال غير مقيد مع تعليقات
تُعد القاعدة الخاصة بالأمر أكثر أمانًا من منحها NOPASSWD: ALL.

4. التحقق من صحة القاعدة واختبارها

بعد الحفظ والخروج من المحرر، تحقق من سياسة sudoers الكاملة:

sudo visudo -c

لا تتجاهل هذا الفحص. visudoتوضح الوثائق أن سياسة sudoers تُقيّم ككل، لذا فإن فحص التكوين الكامل يكشف المشاكل التي قد تتعلق بالملفات المضمنة.

ثم قم بإبطال أي بيانات اعتماد sudo مخزنة مؤقتًا واختبرها بشكل غير تفاعلي:

sudo -k
sudo -n /usr/bin/systemctl restart nginx

يُخبر هذا -nالخيار برنامج sudo بعدم طلب كلمة المرور. إذا تطابقت القاعدة، يُنفَّذ الأمر دون طلب كلمة المرور. أما إذا كان التحقق من الهوية لا يزال مطلوبًا، فيُنهي sudo العملية مع ظهور خطأ بدلًا من انتظار إدخال كلمة المرور. وهذا sudo -nمفيدٌ للغاية للبرامج النصية التي يجب ألا تتوقف أبدًا عند طلب كلمة المرور.

طرفية لينكس للتحقق من صحة المستخدمين الذين لديهم صلاحيات sudo باستخدام الأمر visudo -c، ومسح بيانات الاعتماد المخزنة مؤقتًا، واختبار أمر NOPASSWD باستخدام الأمر sudo -n
تحقق من صحة السياسة، وامسح بيانات الاعتماد المخزنة مؤقتًا، واستخدمها sudo -nللتأكد من أن الأمر لم يعد بحاجة إلى كلمة مرور.

استكشاف أخطاء sudo بدون كلمة مرور وإصلاحها

  • لا يزال الأمر يطلب كلمة مرور: تأكد من أن اسم المستخدم ومسار الأمر والوسائط تتطابق تمامًا مع إدخال sudoers.
  • الأمر غير مسموح به: قم بتشغيله sudo -lلمراجعة الصلاحيات الممنوحة لحسابك.
  • يبدو أن الأمر يتم تجاهله: استخدم اسم ملف بسيط مثل alex-nopasswd. بعض إعدادات sudoers تتجاهل الملفات التي /etc/sudoers.dتحتوي أسماؤها على نقطة أو تنتهي بلواحق تشبه النسخ الاحتياطي.
  • عليك التراجع عن التغيير: أعد فتح النافذة المنبثقة باستخدام sudo visudo -f /etc/sudoers.d/alex-nopasswd، ثم قم بإزالة القاعدة أو تضييق نطاقها، ثم احفظ التغييرات، وقم بتشغيلها sudo visudo -cمرة أخرى.

أفضل الممارسات

استخدم sudo بدون كلمة مرور فقط عند الحاجة المُلحة، كإجراء خدمة مُحكم التحكم أو مهمة أتمتة. يُفضّل استخدام مسار الأمر والوسائط بدقة، وتجنّب ذلك NOPASSWD: ALLقدر الإمكان، واحرص على أن تكون قاعدة sudoers صغيرة قدر الإمكان. هذا يحافظ على معظم حماية sudo مع إزالة طلب كلمة المرور عند الضرورة القصوى.

اترك تعليقاً

كيفية استعادة الأقسام المفقودة وبيانات القرص الصلب بأمان

كيفية استعادة الأقسام المفقودة وبيانات القرص الصلب بأمان

تعرّف على كيفية استعادة الأقسام والملفات المفقودة باستخدام برنامجي TestDisk و PhotoRec. احمِ محرك الأقراص المصدر، وقم بإجراء مسح ضوئي آمن، واحفظ البيانات المستعادة على قرص آخر.

كيفية مسح رموز QR على سطح مكتب لينكس

كيفية مسح رموز QR على سطح مكتب لينكس

امسح رموز QR على نظام Linux باستخدام CoBang عبر كاميرا الويب أو ملف صورة. راجع خيارات التثبيت وخطوات الإعداد والحلول المتعلقة بالوصول إلى كاميرا Flatpak.

كيفية تغيير إعدادات كاميرا الويب على نظام لينكس باستخدام Cameractrls

كيفية تغيير إعدادات كاميرا الويب على نظام لينكس باستخدام Cameractrls

قم بتغيير إعدادات كاميرا الويب على نظام التشغيل Linux باستخدام Cameractrls: اضبط التعريض واللون وتقليل الوميض وعناصر التحكم الأخرى المدعومة، ثم تحقق من أوضاع الفيديو المتوافقة.

كيفية تثبيت PhpStorm على نظام Linux: Toolbox، Tar.gz، Snap، وAUR

كيفية تثبيت PhpStorm على نظام Linux: Toolbox، Tar.gz، Snap، وAUR

قم بتثبيت PhpStorm على نظام Linux باستخدام JetBrains Toolbox أو ملف tar.gz المستقل، بالإضافة إلى خيارات Snap وArch AUR. يأتي Java مُضمّنًا بالفعل.

كيفية إعداد لوحتين على XFCE 4

كيفية إعداد لوحتين على XFCE 4

قم بإنشاء لوحة XFCE 4 منفصلة لكل شاشة، وقم بتعيين اللوحة الثانية إلى المخرج الصحيح، وقم بتحديد موضعها وحجمها، وأضف المشغلات وعناصر الحالة التي تحتاجها.

كيفية قص صورة على نظام لينكس باستخدام برنامج جيمب

كيفية قص صورة على نظام لينكس باستخدام برنامج جيمب

إزالة خلفية الصورة على نظام لينكس باستخدام برنامج GIMP: تتبع العنصر، وحذف الخلفية المحددة، والحفاظ على الشفافية، وتصدير ملف PNG قابل لإعادة الاستخدام.

كيفية تثبيت برنامج Cisco Packet Tracer على نظام Linux

كيفية تثبيت برنامج Cisco Packet Tracer على نظام Linux

قم بتنزيل Cisco Packet Tracer 9.0.1 لنظام Ubuntu 64 بت، وقم بتثبيت حزمة DEB باستخدام APT، واقبل الترخيص في Terminal، وقم بتسجيل الدخول لبدء المختبر.

كيفية نسخ قرص مضغوط كملف ISO على نظام لينكس

كيفية نسخ قرص مضغوط كملف ISO على نظام لينكس

أنشئ ملف ISO لقرص مضغوط على نظام لينكس باستخدام GNOME Disks أو dd. حدد محرك الأقراص الضوئية، وراقب عملية النسخ، وتحقق من الصورة، واعرف متى يحتاج القرص التالف أو قرص الصوت إلى أداة أخرى.

حمّل لعبة FlightGear مجاناً: دليل التثبيت الرسمي

حمّل لعبة FlightGear مجاناً: دليل التثبيت الرسمي

حمّل برنامج FlightGear مجاناً من الموقع الرسمي. قارن بين حزم Windows و macOS و Linux، وثبّت ملفات البيانات، وابدأ رحلتك الأولى.

أو كي سامبلر: برنامج مجاني وبسيط لأخذ عينات موسيقية لإيقاعات لوحة المفاتيح

أو كي سامبلر: برنامج مجاني وبسيط لأخذ عينات موسيقية لإيقاعات لوحة المفاتيح

يقوم برنامج OKSampler بربط مقاطع MP3 بمفاتيح لوحة المفاتيح، كما يتيح تكرار الصوت. تعرّف على وظائف هذا البرنامج المجاني القديم، وحدود ميزاته القديمة، وما يجب التحقق منه قبل التنزيل.