التكنولوجيا

لماذا وكيف تحرر ملف Sudoers الخاص بك في Linux

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

ما هو ملف sudoers؟

ملف sudoers هو ملف نصي يمكنك العثور عليه في دليل “/ etc” (اقرأ المزيد عن دليل Linux هنا). والغرض الرئيسي منه هو التحكم في كيفية القيام بذلك sudo يعمل على جهاز الكمبيوتر الخاص بك ويحدد المستخدمين والمجموعات الذين لديهم القدرة على التشغيل بإذن المستخدم المتميز.

بالإضافة إلى ذلك ، يمكن أن يسمح ملف sudoers أيضًا لمستخدم معين بتشغيل الأوامر كمستخدم نظام آخر.

على سبيل المثال ، إذا كان لديك خادم ويب ، فيمكنك تكوين sudoers للسماح فقط للمستخدمين الآخرين بتشغيل الأوامر كـ “www-data”.

متى يجب تعديل ملف sudoers؟

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

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

كيف يمكنني تعديل sudoers؟

لا تقم أبدًا بتحرير ملف sudoers في محرر نصوص عادي. يمكن أن يؤدي هذا إلى التحرير المتزامن والملفات التالفة ، مما قد يمنع وصول المسؤول. يجب تغيير Sudoers عن طريق الجري visudo في Terminal ، مثل هذا:

لاحظ أنه يجب عليك استخدام sudo يهرب visudo. سيؤدي هذا إلى فتح ملف sudoers في محرر النصوص الافتراضي في Terminal وهو Nano افتراضيًا.

ما الذي يمكن أن يفعله تحرير ملف sudoers؟

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

تتضمن بعض هذه الخيارات القدرة على تغيير مهلة رفع الامتياز. هناك أيضًا خيارات لتغيير محرر visudo الافتراضي والتثبيت الأساسي ، مثل استخدام pty.

تغيير مهلة sudo

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

  1. مسار sudo visudo كما ذكر أعلاه.
  2. عجل آخر + / للانتقال إلى نهاية المستند. إذا كنت تستخدم Vi أو Vim ، فاضغط على يتغيرون + ز مكان.
  1. أنشئ سطرًا جديدًا في الجزء السفلي من المستند وأضف السطر التالي:
Defaults timestamp_timeout=0

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

يمكنك أيضًا ضبط المهلة على “-1” ، مما يمنحك فترة سماح لا نهائية. لا تفعل هذا. إنها طريقة سهلة لتدمير نظامك عن طريق الخطأ يومًا ما.

  1. عجل كنترول + أوه لحفظ و كنترول + X للخروج. من ناحية أخرى ، إذا كنت تستخدم Vi أو Vim ، فيمكنك الضغط على خروج ثم اكتب :wq للخروج.

حدد من يمكنه استخدام sudo ولماذا

إذا كان العديد من المستخدمين يصلون إلى نفس النظام من خلال القذائف ، فيمكنك التحكم في وصولهم عن طريق تعيين القيم في sudo.

يعد إنشاء قاعدة مخصصة للمستخدمين أمرًا بسيطًا للغاية. تبدو قاعدة التفويض في ملف sudoers على النحو التالي:

username hostlist = (userlist) commandlist
  • ال username يشير إلى مستخدم النظام الذي ستنطبق عليه هذه القاعدة.
  • ال hostlist يخبر sudo بتطبيق هذه القاعدة على قائمة مضيفي النظام المعروفين بـ sudo. بشكل افتراضي ، يتعرف sudo فقط على الجهاز المحلي باعتباره المضيف.
  • ال userlist يخبر sudo بحساب المستخدم الذي يمكن أن يحل محل اسم المستخدم.
  • وأخيرا، فإن commandlist هي قائمة مفصولة بفواصل تشير إلى برامج النظام التي يمكن لاسم المستخدم تشغيلها كمستخدم.

مع العلم بهذا ، ضع في اعتبارك المثال التالي:

يسمح هذا السطر لمستخدم الرامز باستبدال أي مستخدم وتشغيل أي أمر على أي مضيف. هذا يرجع إلى الحقيقة ALL هي قيمة خاصة في ملف sudoers وتعني “لا قيود”.

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

لذلك قد تبدو القاعدة الأكثر ملاءمة وأمانًا كما يلي:

في هذه الحالة ، لا يزال بإمكان مستخدم الكباسات العمل كجذر ولكن لا يمكن أن يحل محل أي مستخدم آخر.

تقييد الجذر في المستخدمين والمجموعات

لمزيد من التحكم ، يمكنك إضافة سطر مثل هذا ، والذي سيسمح فقط لمستخدم “ramces” بالتشغيل apt update.

ramces ALL=(root) /usr/bin/apt update

ضع % أمام المستخدم ، وهذا سيحدد المجموعة. يسمح السطر أدناه لكل مستخدم في مجموعة “المسؤول” بالحصول على أذونات مستوى الجذر. ستكون هذه المجموعة كما حددتها مجموعات أذونات النظام لديك.

تصلب sudoers مع use_pty

استخدام آخر لملف sudoers هو استخدام sudo فقط في بيئة وضع الحماية المقيدة.

يمكن أن يكون هذا مفيدًا للغاية إذا كنت تقوم بتشغيل sudo على جهاز غير آمن متصل باستمرار بالإنترنت. بمعرفة ذلك ، يمكنك استخدام هذه الميزة بالانتقال إلى ملف “etc / sudoers / /” وإدخال السطر التالي من التعليمات البرمجية:

استخدم sudo بدون كلمة مرور

هناك خيار آخر يمكنك تمكينه في ملف sudoers وهو القدرة على تشغيل sudo بدون كلمة مرور. يمكن أن يكون هذا مفيدًا بشكل خاص إذا كنت تقوم باستمرار بتشغيل أوامر المستخدم المتميز على جهازك.

لتمكينه ، تحتاج فقط إلى إضافة علامة واحدة في قاعدة المستخدم الحالية:

ramces ALL = (root) NOPASSWD: ALL

إذا لاحظت ، فإن الاختلاف الرئيسي بين هذا والمثال أعلاه هو إضافة NOPASSWD:.

تغيير محرر visudo

أخيرًا ، بناءً على إصدار Linux الذي تستخدمه ، هناك طريقتان رئيسيتان لتغيير المحرر.

بالنسبة إلى Ubuntu ، سترغب في تشغيل الأمر Terminal أدناه:

sudo update-alternatives --config editor

سترى شيئًا مشابهًا لما يلي:

There are 4 choices for the alternative editor (providing /usr/bin/editor).
 
  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
  3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode
 
Press enter to keep the current choice[*], or type selection number: 3

إذا كنت ترغب في تحديد vim كمحرر visudo من الإعداد الافتراضي لـ nano ، فيجب عليك الضغط على رقم التحديد الخاص به 3 ثم اضغط على Enter.

بالنسبة لإصدارات Linux الأخرى ، سترغب في إضافة سطر جديد إلى ملف “~ / .bashrc” كما هو موضح أدناه:

ثم احفظ الملف. سيؤدي هذا إلى ضبط محرر visudo على vim.

تهانينا! الآن أنت تعرف كيفية إجراء تغييرات أساسية على ملف sudoers الخاص بك. أيضًا ، لديك الآن فكرة أساسية عن كيفية عمل sudo. بالإضافة إلى الخيارات الإضافية التي يمكنك تمكينها عبر sudoers.

إذا كانت كل هذه المناقشات قد جعلتك تشعر بالفضول بشأن Linux. يمكنك الاطلاع على هذه المقالة حيث نتحدث عن بعض أفضل توزيعات Linux-libre التي يمكنك تثبيتها اليوم.

أسئلة مكررة

1. تلقيت خطأ “(اسم المستخدم) ليس في ملف sudoers”. هل تثبيت sudo الخاص بي معطل؟

مُطْلَقاً. يحدث هذا عندما لا يكون لدى المستخدم الذي تستخدمه إدخال قاعدة في ملف sudoers. قد يكون أن المستخدم نفسه ليس في سودو أو أنه ليس جزءًا من أي جماعة في سودو.

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

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

2. ما هي المشكلات المتعلقة بإنشاء قواعد مخصصة للمستخدم؟

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

%admin ALL: (root) /bin/cat /var/*

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

sudo cat /var/log.1 /home/bob/secret.txt

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

3. هل من الممكن منع sudo من إرسال بريد النظام في كل مرة أقوم فيها بالتشغيل كجذر؟

نعم! يمكنك بسهولة منع sudo من إرسال البريد باستخدام علامة NOMAIL. على سبيل المثال ، هذا هو إدخال القاعدة لحساب المستخدم الخاص بي في ملف sudoers:

ramces ALL: (root) NOMAIL: ALL

Content Protection By Dmca.com

medo

عش بالأمل وقدر قيمة الحياة

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني.

زر الذهاب إلى الأعلى

أنت تستخدم إضافة Adblock

برجاء دعمنا عن طريق تعطيل إضافة Adblock