كيفية إضافة مستخدم إلى ملف sudoers في Linux

النقاط الرئيسية

  • إن إضافة مستخدم إلى ملف sudoers يسمح له بالحصول على صلاحيات إدارية مؤقتة على Linux وتنفيذ الإجراءات الضرورية.
  • من غير المستحسن تسجيل الدخول كمستخدم جذر بسبب احتمالية حدوث أخطاء كارثية والقدرة على التلاعب بمستخدمين آخرين وإزالتهم.
  • استخدم الأمر “visudo” لفتح ملف sudoers وتحريره، ومنح أذونات محددة للمستخدمين أو المجموعات لتنفيذ الأوامر باستخدام sudo.



إذا كان sudo إذا كنت تستخدم الأمر “sudoers” على Linux، فستحتاج إلى الدخول إلى قائمة “sudoers”. سنشرح لك كيفية إضافة مستخدم إلى sudoers في Ubuntu وتوزيعات Linux الأخرى بالإضافة إلى تحرير ملف sudoers.


لماذا أحتاج إلى إضافتي إلى ملف sudoers؟

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

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


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

ال sudo الأمر هو المعادل للصراخ في لينكس “شازامعندما تنتهي الأشياء المخيفة، تتخلى عن شخصيتك البديلة ذات القوة العظمى وتعود إلى شخصيتك العادية المملة.

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

منح توزيعات لينكس الحديثة sudo امتيازات حساب المستخدم الذي تم إنشاؤه أثناء خطوات التثبيت أو التكوين بعد التثبيت. إذا حاول أي شخص آخر استخدام sudo سوف يرون رسالة تحذيرية مثل هذه:


mary is not in the sudoers file. This incident will be reported.

يبدو أن هذا واضحًا بدرجة كافية. مستخدمنا mary لا يمكن استخدامه sudo لأنها ليست “موجودة في ملف sudoers”. لذا دعنا نرى كيف يمكننا إضافتها، مما يجعلها مستخدم sudo.

كيفية فتح ملف sudoers

قبل أن نتمكن من إضافة sudo المستخدم الذي نحتاج إلى العمل معه sudoers الملف. يسرد هذا مجموعات المستخدمين الذين يمكنهم استخدام sudoإذا كنا بحاجة إلى إجراء تعديلات على الملف، فيجب علينا تحريره.

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

لاحظ أن visudo ليس محررًا، بل إنه يطلق أحد محرري النصوص المتاحين لديك. في Ubuntu 22.04 وFedora 37 وManjaro 21، visudo تم إطلاق nano. قد لا يكون هذا هو الحال على جهاز الكمبيوتر الخاص بك.


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

في كلتا الحالتين، نحتاج إلى استخدام visudo.

إضافة مستخدم sudo في Ubuntu وتوزيعات Linux الأخرى

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

دعنا نضيف ماري إلى مجموعة sudoers أولاً. يمكننا القيام بذلك على Ubuntu ومعظم توزيعات Linux الأخرى بنفس الطريقة، عن طريق البدء visudo.

sudo visudo

تشغيل visudo على Ubuntu Linux


قم بالتمرير لأسفل في المحرر حتى ترى قسم “مواصفات امتيازات المستخدم”. ابحث عن تعليق يقول شيئًا مشابهًا لـ “السماح لأعضاء هذه المجموعة بتنفيذ أي أمر”.

ملف sudoers مفتوح في محرر nano

قيل لنا أن أعضاء sudo يمكن للمجموعة تنفيذ أي أمر. كل ما نحتاج إلى معرفته في حالة ماري هو اسم تلك المجموعة. ليس من الضروري دائمًا معرفة اسم المجموعة. sudo ;قد يكون wheel أو أي شيء آخر. الآن بعد أن عرفنا اسم المجموعة، يمكننا إغلاق المحرر وإضافة ماري إلى هذه المجموعة.

نحن نستخدم usermod الأمر مع -a (إضافة) و -G خيارات (اسم المجموعة) لإضافة المستخدمين إلى sudoers. -G يسمح لنا الخيار بتسمية المجموعة التي نرغب في إضافة المستخدم إليها، -a الخيار يقول usermod لإضافة المجموعة الجديدة إلى قائمة المجموعات الموجودة التي يتواجد فيها هذا المستخدم بالفعل.


إذا لم تستخدم -a الخيار هو أن المجموعة الوحيدة التي سيتواجد فيها المستخدم هي المجموعة المضافة حديثًا. تحقق مرة أخرى وتأكد من تضمين -a خيار.

sudo usermod -aG sudo mary

استخدام usermod لإضافة المستخدم mary إلى مجموعة sudo

في المرة التالية التي تقوم فيها ماري بتسجيل الدخول، سيكون لديها إمكانية الوصول إلى sudoلقد سجلنا دخولها ونحاول تحرير ملف جدول نظام الملفات “/etc/fstab.” هذا ملف لا يمكن لأي شخص الوصول إليه باستثناء root.

sudo nano /etc/fstab

أدخل الأمر "sudo nano /etc/fstab" لاختبار صلاحيات sudo للمستخدم.


يفتح محرر النانو مع الملف “/etc/fstab” المحمل.

المستخدم ماري يقوم بتحرير ملف /etc/fstab باستخدام sudo

بدون sudo الامتيازات، لن تتمكن من فتح هذا إلا كملف للقراءة فقط. لم تعد ماري تخضع لهذه القيود. يمكنها حفظ أي تغييرات تقوم بها.

أغلق المحرر ولا تحفظ أي تغييرات قمت بها.

تحديد امتيازات sudo عن طريق تعديل ملف sudoers

سيتم منح المستخدم الآخر، توم، الإذن بتثبيت البرامج، لكنه لن يحصل على جميع الامتيازات التي مُنحت لماري. يمكننا أن نجعل توم مستخدم sudo دون منحه كل الامتيازات.

نحن بحاجة إلى تحرير sudoers ملف.

sudo visudo


تشغيل visudo على Ubuntu Linux

قم بالتمرير لأسفل في المحرر حتى ترى قسم “مواصفات امتيازات المستخدم”. ابحث عن تعليق يقول شيئًا مشابهًا لـ “السماح لأعضاء هذه المجموعة بتنفيذ أي أمر”. إنها نفس النقطة في الملف حيث وجدنا اسم المجموعة التي نحتاج إلى إضافة ماري إليها.

أضف هذه الأسطر أسفل هذا القسم.

# user tom can install softwaretom ALL=(root) /usr/bin/apt

إضافة إدخالات جديدة إلى ملف sudoers

السطر الأول عبارة عن تعليق بسيط. لاحظ وجود علامة تبويب بين اسم المستخدم “tom” وكلمة “All”.


هذا ما تعنيه العناصر الموجودة على الخط.

  • توم:اسم المجموعة الافتراضية للمستخدم. وعادةً ما يكون هذا هو نفس اسم حساب المستخدم.
  • الكل=:تنطبق هذه القاعدة على جميع المضيفين على هذه الشبكة.
  • (جذر):يمكن لأعضاء مجموعة “tom” —أي المستخدم Tom—أن يفترضوا root الامتيازات للأوامر المذكورة.
  • /usr/bin/apt:هذا هو الأمر الوحيد الذي يمكن للمستخدم توم تشغيله root.

لقد حددنا apt مدير الحزم هنا لأن هذا الكمبيوتر يستخدم Ubuntu Linux. ستحتاج إلى استبدال هذا الأمر بالأمر المناسب إذا كنت تستخدم توزيعًا مختلفًا.

لنقم بتسجيل دخول توم ونرى ما إذا كنا سنحصل على السلوك المتوقع. سنحاول تحرير ملف “/etc/fstab”.

sudo nano /etc/fstab

محاولة تحرير ملف /etc/fstab بدون امتيازات sudo


تم رفض هذا الأمر، وقيل لنا أن “المستخدم tom غير مسموح له بتنفيذ ‘/usr/bin/nano /etc/fstab’ كجذر …”

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

sudo apt install neofetch

المستخدم توم يستخدم الأمر apt مع sudo

تم تنفيذ الأمر بنجاح بالنسبة لـ Tom.

من يحمل هذه الوصية

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


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

أضف تعليق