النقاط الرئيسية
- إن إضافة مستخدم إلى ملف 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
قم بالتمرير لأسفل في المحرر حتى ترى قسم “مواصفات امتيازات المستخدم”. ابحث عن تعليق يقول شيئًا مشابهًا لـ “السماح لأعضاء هذه المجموعة بتنفيذ أي أمر”.
قيل لنا أن أعضاء sudo
يمكن للمجموعة تنفيذ أي أمر. كل ما نحتاج إلى معرفته في حالة ماري هو اسم تلك المجموعة. ليس من الضروري دائمًا معرفة اسم المجموعة. sudo
;قد يكون wheel
أو أي شيء آخر. الآن بعد أن عرفنا اسم المجموعة، يمكننا إغلاق المحرر وإضافة ماري إلى هذه المجموعة.
نحن نستخدم usermod
الأمر مع -a
(إضافة) و -G
خيارات (اسم المجموعة) لإضافة المستخدمين إلى sudoers. -G
يسمح لنا الخيار بتسمية المجموعة التي نرغب في إضافة المستخدم إليها، -a
الخيار يقول usermod
لإضافة المجموعة الجديدة إلى قائمة المجموعات الموجودة التي يتواجد فيها هذا المستخدم بالفعل.
إذا لم تستخدم -a
الخيار هو أن المجموعة الوحيدة التي سيتواجد فيها المستخدم هي المجموعة المضافة حديثًا. تحقق مرة أخرى وتأكد من تضمين -a
خيار.
sudo usermod -aG sudo mary
في المرة التالية التي تقوم فيها ماري بتسجيل الدخول، سيكون لديها إمكانية الوصول إلى sudo
لقد سجلنا دخولها ونحاول تحرير ملف جدول نظام الملفات “/etc/fstab.” هذا ملف لا يمكن لأي شخص الوصول إليه باستثناء root
.
sudo nano /etc/fstab
يفتح محرر النانو مع الملف “/etc/fstab” المحمل.
بدون sudo
الامتيازات، لن تتمكن من فتح هذا إلا كملف للقراءة فقط. لم تعد ماري تخضع لهذه القيود. يمكنها حفظ أي تغييرات تقوم بها.
أغلق المحرر ولا تحفظ أي تغييرات قمت بها.
تحديد امتيازات sudo عن طريق تعديل ملف sudoers
سيتم منح المستخدم الآخر، توم، الإذن بتثبيت البرامج، لكنه لن يحصل على جميع الامتيازات التي مُنحت لماري. يمكننا أن نجعل توم مستخدم sudo دون منحه كل الامتيازات.
نحن بحاجة إلى تحرير sudoers
ملف.
sudo visudo
قم بالتمرير لأسفل في المحرر حتى ترى قسم “مواصفات امتيازات المستخدم”. ابحث عن تعليق يقول شيئًا مشابهًا لـ “السماح لأعضاء هذه المجموعة بتنفيذ أي أمر”. إنها نفس النقطة في الملف حيث وجدنا اسم المجموعة التي نحتاج إلى إضافة ماري إليها.
أضف هذه الأسطر أسفل هذا القسم.
# user tom can install softwaretom ALL=(root) /usr/bin/apt
السطر الأول عبارة عن تعليق بسيط. لاحظ وجود علامة تبويب بين اسم المستخدم “tom” وكلمة “All”.
هذا ما تعنيه العناصر الموجودة على الخط.
- توم:اسم المجموعة الافتراضية للمستخدم. وعادةً ما يكون هذا هو نفس اسم حساب المستخدم.
- الكل=:تنطبق هذه القاعدة على جميع المضيفين على هذه الشبكة.
- (جذر):يمكن لأعضاء مجموعة “tom” —أي المستخدم Tom—أن يفترضوا
root
الامتيازات للأوامر المذكورة. - /usr/bin/apt:هذا هو الأمر الوحيد الذي يمكن للمستخدم توم تشغيله
root
.
لقد حددنا apt
مدير الحزم هنا لأن هذا الكمبيوتر يستخدم Ubuntu Linux. ستحتاج إلى استبدال هذا الأمر بالأمر المناسب إذا كنت تستخدم توزيعًا مختلفًا.
لنقم بتسجيل دخول توم ونرى ما إذا كنا سنحصل على السلوك المتوقع. سنحاول تحرير ملف “/etc/fstab”.
sudo nano /etc/fstab
تم رفض هذا الأمر، وقيل لنا أن “المستخدم tom غير مسموح له بتنفيذ ‘/usr/bin/nano /etc/fstab’ كجذر …”
هذا ما أردناه. من المفترض أن يتمكن المستخدم توم فقط من استخدام apt
مدير الحزمة. دعونا نتأكد من قدرتهم على القيام بذلك.
sudo apt install neofetch
تم تنفيذ الأمر بنجاح بالنسبة لـ Tom.
من يحمل هذه الوصية
إذا كان بإمكان جميع المستخدمين لديك استخدام sudo
، ستواجه فوضى بين يديك. لكن الأمر يستحق ترقية مستخدمين آخرين إلى قائمة sudoers حتى يتمكنوا من مشاركة العبء الإداري الخاص بك. فقط تأكد من أنهم يستحقون ذلك، وراقبهم.
حتى لو كنت المستخدم الوحيد على جهاز الكمبيوتر الخاص بك، فمن الجدير التفكير في إنشاء حساب مستخدم آخر وإضافته كـ sudo
بهذه الطريقة، إذا وجدت نفسك غير قادر على الوصول إلى حسابك الرئيسي، فسيكون لديك حساب آخر يمكنك تسجيل الدخول به لمحاولة معالجة الموقف.