المحتوى عن 'root'.



مزيد من الخيارات

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML5
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 2 نتائج

  1. توجد بعض الإعدادات التي يجب إجراؤها في البداية كجزء من عملية التثبيت الأولية عند إنشاء خادوم جديد. تؤدي هذه الخطوات إلى تعزيز أمان وقابلية استخدام Usability خادومك ممّا يعطيك أساسًا صلبا للإجراءات اللاحقة. الخطوة الأولى - الولوج Login إلى الحساب الجذر Root يتوجّب عليك، للولوج إلى خادومك، معرفة عنوان IP العمومي Public IP Address إضافةً إلى كلمة سر حساب المستخدم الجذر. إن لم تكن قمتَ بالولوج إلى خادومك من قبل فبإمكانك الاطّلاع على الدرس أساسيات وخيارات الاتصال بخادوم عن بعد باستخدام SSH (البرنامج المسؤول عن الاتصال بالخادوم عن بعد)، الذي يُغطي هذه العملية بالتفصيل. ابدأ بالاتصال بخادومك عن طريق الأمر التّالي (أبدِل الكلمة البارزة بعنوان IP خادومك العمومي): ssh root@SERVER_IP_ADDRESS أكمِل عملية الولوج بقبول التحذيرات حول موثوقية المستضيف Host authenticity في حال ظهورها، وإعطاء معلومات التحقق (كلمة السّر أو المفتاح السري). سيُطلب منك تبديل كلمة سر حساب المستخدِم الجذر إن كانت هذه أول مرة تلِج إلى الخادوم باستخدام كلمة السر. حول المستخدم الجذر المستخدم الجذر هو المُدير في أنظمة لينوكس، ولديه امتيازات Privileges واسعة جدًًا. عمليًا، يُنصَح بعدم استخدام الحساب الجذر في الأمور الاعتيادية، فالصلاحيات الواسعة التي يتمتع بها تُتيح إحداث تغييرات - قد تكون مدمِّرة - في النظام . وليسَ نادرا أن يحدث ذلك بشكل غير مقصود. الخطوة الموالية ستكون إنشاء حساب مستخدم بديل بمجال تأثير محدود للقيام بالعمل اليومي. ستتعلّم أيضًا كيفية الحصول على امتيازات أكبر عندما تحتاج إليها. الخطوة الثانية - إنشاء مستخدم جديد بعد الولوج باستخدام الحساب الجذر تُصبِح على استعداد لإضافة الحساب الجديد الذي سنلِج باستخدامه من الآن فصاعدا. يُنشئ المثال التالي مستخدما باسم "demo"، أبدِلهُ باسم المستخدم الذي تراه مناسِبا: adduser demo ستُطرَح عليك بعض الأسئلة، بدءًا بكلمة سرالحساب. أدخِل كلمة سر قوية. يُمكنك تعبئة بقية المعلومات الإضافية حسب رغبتك. اضغط على زر Enter في لوحة المفاتيح لتجاوز أي حقل لا تودّ تعبئته. الخطوة الثالثة - امتيازات الجذر لدينا الآن حساب مستخدم جديد بامتيازات حساب عادي. سنحتاج في بعض الأحيان إلى القيام ببعض الأعمال الإدارية التي تتطلّب امتيازات الجذر. نستطيع إعداد "مستخدم أعلى" Super user لتجنب الخروج من الحساب العادي والولوج بالحساب الجذر أثناء القيام بالمهام الإدارية. المستخدم الأعلى هو مستخدم عادي ولكنه يستطيع الحصول على امتيازات المستخدم الجذر مؤقتا عن طريق كتابة sudo أمام الأوامر التي يطلب تنفيذها. يتوجّب علينا إضافة المستخدم الجديد إلى مجموعة المستخدمين Users group sudo حتى يتسنى له الحصول على الامتيازات الإدارية. يُسمَح - في الإعداد الافتراضي لأوبنتو 14.04 - للمستخدمين الأعضاء في مجموعة sudo باستخدام أمر sudo. نفّذ باستخدام الحساب الجذر، الأمر التالي لإضافة المستخدم الجديد إلى المجموعة sudo (أبدِل الكلمة البارزة بالاسم الذي اخترتَه للمستخدم الجديد): gpasswd -a demo sudo يُمكِن للمستخدِم الجديد الآن تنفيذ أوامر بامتيازات المستخدِم الأعلى. الخطوة الرابعة - إضافة الاستيثاق عن طريق المفتاح العمومي Public Key Authentication (يوصى بهذه الخطوة) الخطوة التالية في تأمين خادومك هي إعداد مفتاح عمومي Public Key للمستخدم الجديد. هذا الإعداد سيرفع من أمان خادومك بطلب مفتاح SSH سري للولوج. توليد زوج من المفاتيح سيتوجّب عليك توليد زوج مفاتيح (مفتاح عمومي وآخر سرّي). إن كان لديك مفتاح عمومي ترغب في استخدامه تجاوز إلى خطوة نسخ المفتاح العمومي. لتوليد زوج مفاتيح جديدة نفِّذ الأمر التالي على الطّرفيةTerminal محليًّا (على حاسوبك الشخصي): ssh-keygen ستظهر لك مُخرجات شبيهة بما يلي (localuser هنا هو اسم المستخدم الذي يُنفِّذ الأمر): Generating public/private rsa key pair. Enter file in which to save the key (/Users/localuser/.ssh/id_rsa): اضغط زر Enter على لوحة المفاتيح لقبول اسم ومسار حفظ الملف، أو أدخل مسارا لملف جديد. سيُطلب منك بعدها إدخال عبارة سر Passphrase لتأمين المفتاح. عبارة السّر اختيارية ويُمكنك تجاوزها وتركها خاوية. ملحوظة: عند ترك عبارة السر خاوية يُمكن استخدام المفتاح السري للاستيثاق دون الحاجة لإدخال عبارة سر، أما في حال إنشاء عبارة سر فستحتاج للإثنين (عبارة السر والمفتاح السري) للولوج. إنشاء عبارة سر يُعطي أمانا أكبر ولكن لكل من الطريقتين (المفتاح السري وحده أو مع عبارة سر) استخداماتُها، كما أنهما أكثر أمانا من الاستيثاق الأساسي عن طريق كلمة سر. حصلنا الآن على مفتاح سري (id_rsa)، وآخر عمومي (id_rsa.pub) يوجدان في المجلَّد ssh. الموجود في المجلّد الشخصي للمستخدم localuser. تذكَّر أنه لا يجوز على الإطلاق مُشاركة المفتاح السري مع أي شخص لا يحق له الاتصال بخواديمك. نسخ المفتاح العمومي بعد توليد المفتاح العمومي محليًّا ننقلهُ إلى الخادوم. استخدم الأمر التالي لإظهار مفتاحك العمومي (أبدِل مسار الملف في حال غيّرت مسار الحفظ أثناء توليد المفتاح) cat ~/.ssh/id_rsa.pub سيظهر مفتاحك العمومي الذي يُشبه شكلُه التالي: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local حدّد المفتاح العمومي وانسخه إلى الحافِظة Clipboard. إضافة المفتاح العمومي إلى المستخدم الجديد على الخادوم يجب إضافة مفتاح SSH إلى ملف خاص يوجد بالمجلد الشخصي للمستخدِم على الخادوم حتى يتسنى له استعمالُه للاستيثاق. استعمل الأمر التالي - على الخادوم - للانتقال من المستخدِم الجذر إلى المستخدِم الذي أنشأناه في الخطوات الأولى من هذا الدّليل (أبدِل demo باسم المستخدِم الذي اخترتَه): su - demo ستُنقَل بعدَ الولوج إلى الخادوم إلى ملف المستخدم الشخصي. أنشئ مجلَّدا فرعيا جديدا في المجلّد الشخصي باسم ssh. (النقطة جزء من الاسم) مع تقييد الأذون Permissions عن طريق الأوامر التالية: mkdir .ssh chmod 700 .ssh سنُنشئ الآن ملفًا باسم authorized_keys مع فتحه عن طريق محرِّر نصوص. سنستخدِم محرِّر Nano للتعديل على الملف، كما في الأمر التالي: nano .ssh/authorized_keys ثم نأتي لإدراج المفتاح العمومي في الملف عن طريق لصقه في المحرِّر. اضغط على الزريْن CTRL و X معًا في لوحة المفاتيح للخروج من المحرِّر ثم زر Y لحفظ التغييرات وEnter لتأكيد اسم الملف. نُقيّد الأذون على الملف authorized_keys عن طريق الأمر: chmod 600 .ssh/authorized_keys للعودة إلى المستخدِم الجذر ننفِّذ الأمر التالي: exit بإمكانك الآن الولوج إلى حساب المستخدم الجديد عن طريق SSH باستخدام المفتاح السري. الخطوة الخامسة - إعداد SSH يُمكننا، بعد أن أنشأنا حسابَ مستخدم جديدًا، زيادة تأمين الخادوم عن طريق تغيير إعداد SSH . نبدأ بفتح ملف الإعدادات بواسطة محرِّر نصوص مع استعمال المستخدِم الجذر: nano /etc/ssh/sshd_config تغيير منفذ Port الاتصال عن طريق SSH (اختياري) أولى التغييرات ستكون تعديل المنفذ الذي يستخدمه SSH للاتصال بالخادوم. ابحث عن السّطر التالي: Port 22 عند تغيير هذا الرقم إلى آخر بين 1025 و 65536 فإن خدمة SSH ستستخدم المنفذ الجديد للاتصال بالخادوم بدلا من المنفذ الافتراضي (22). يُحاول بعض المستخدمين غير المسموح لهم بالولوج استعمال منفذ SSH الافتراضي الوصول إلى الخادوم. تغيير المنفذ يعني إضافة خطوات جديدة أمام هذا النوع من المستخدمين لأنه يضطرهم إلى تجربة منافذ عديدة لمعرفة أيها يُستخدم من طرف SSH. يجب عند تغيير منفذ SSH تذكر رقم المنفذ الجديد حتى يُمكن الاتصال عن بعد بالخادوم. سنُغيِّر منفذ SSH إلى 4444. يعني هذا أنه يتوجب إخبار الخادوم عند الاتصال برقم المنفذ المُستخدَم لكي لا يستخدم المنفذ الافتراضي، وهو ما سنشرحه لاحقا. Port 4444 تقييد ولوج المستخدم الجذر عبر SSH بعد تغيير منفذ SSH نبحث عن السّطر التالي: PermitRootLogin yes يُتيح هذا السطر إمكانية السماح للمستخدم الجذر أو منعه من الولوج عن طريق SSH. يُعتبَر هذا الإجراء أكثر أمانا حيثُ يمكن الولوج بالمستخدم العادي عن طريق SSH ثم استخدام صلاحيات المستخدم الجذر عن الحاجة. نُغيّر السطر بإبدال yes ب no لمنع المستخدم الجذر من الولوج عن بعد. PermitRootLogin no يُنصَح دائما، من أجل أمان أكبر، بتقييد ولوج المستخدم الجذر عبر SSH. بعد إنهاء التعديلات احفَظ الملف وأغلقه باستخدام الطريقة التي رأيناها سابقا (CTRL+X، ثم Y و ENTER بعد ذلك). الخطوة السادسة - إعادة تحميل SSH انتهينا الآن من تحرير الإعدادات. لأخذها في الاعتبار نُعيد تشغيل خدمة SSH عن طريق الأمر التالي: service ssh restart يجب أن نتأكد من أن الإعداد الجديد يعمل بشكل جيّد قبل الخروج، حتى لا نجد أنفسَنا في وضعية لا يُمكن فيها الولوج عن بعد إلى الخادوم. افتح نافذة جديدة لواجهة الأوامر على حاسوبك الشخصي. سنجري في النافذة الجديدة اتصالا مع الخادوم باستعمال حساب المستخدم العادي الذي أنشأناه بدلا من المستخدِم الجذر. يجب ذكر رقم منفذ الولوج إلى خادوم لا يستخدم المنفذ الافترضي للاتصال عن طريق SSH وذلك بإضافة العبارة "p 4444-" إلى أمر الاتصال حيثُ 4444 هو رقم المنفذ الجديد. للولوج إلى الخادوم عن طريق المنفَذ الذي أعددناه في الخطوة السابقة نستخدم الأمر التالي (أبدِل SERVER_IP_ADDRESS بعنوان خادومك و demo باسم المستخدِم): ssh -p 4444 demo@SERVER_IP_ADDRESS ملحوظة: لا تنسَ، إن كنت تستخدم برنامج PuTTY، تغيير إعداد المنفَذ في البرنامج حتى يتوافق مع الإعداد الحالي لخادومك. سيُطلب منك إدخال كلمة سر المستخدم الجديد ثم، بعد التحقق، ستلِج إلى المجلد الشخصي للمستخدم على الخادوم. تذكّر إضافة sudo أمام الأوامر التي ترغي في تنفيذها بصلاحيات المستخدِم الجذر: sudo command_to_run حيثُ command_to_run هو الأمر المُراد تنفيذه. إذا جرت الخطوات السّابقة كما وصفناها فإن كل شيء على ما يُرام ويُمكنك الخروج عن طريق الأمر exit ماذا بعد هذا الدرس؟ بالوصول إلى هذه النقطة فإن لدى خادومك أساسا قويا، ويُمكنك تثبيت أي برنامج ترغب فيه عليه. يُمكنك المُتابعة مع هذه السلسة بقراءة مقال خطوات إضافية موصى بها لخواديم أوبنتو 14.04 الجديدة الذي يشرح أمورا من قبيل تفعيل fail2ban للحد من فعاليّة هجمات القوة العمياء Brute force attacks، الإعدادات الأساسية للجدار الناري Firewall، بروتكول NTP وملفات الإبدال Swap. كما أنّ به روابطَ لشروح حول كيفية تثبيت وإعداد بعض تطبيقات الويب الشائعة. مقالات مثل إعداد حِزم LAMP أو LEMP جيّدة لمن يُريد استكشاف المزيد. ترجمة -وبتصرّف- للمقال: Initial Server Setup with Ubuntu 14.04 لصاحبه Justin Ellingwood.
  2. يُمثِّل الفصل بين الامتيّازات Privileges أحد المبادئ الأمنيّة الأساسيّة المُدرجَة في Linux والأنظمة الشّبيهة بيونكس Unix-like. تجسيدًا لهذا المبدأ يعمل المسخدمون العاديّون بامتيّازات محدودة لحدّ دائرة تأثيرهم على بيئتهم الخاصّة وليس على كامل نظام التّشغيل. يوجد مستخدم خاصّ يُسمّى المستخدم الجذر root user ويملك امتيّازات “المستخدم الأعلى”. حساب المستخدم الجذر هو حساب إداريّ لا توجد عليه القيود الموجودة على المستخدمين العاديّين. يُمكن للمستخدمين العاديّين تنفيذ أوامر بامتيّازات المستخدم الأعلى (المستخدم الجذر) بطرق مختلفة. سنناقش في هذا الدّليل الطّريقة الصّحيحة والآمنة للحصول على امتيّازات المستخدم الجذر، مع التّركيز على ملفّ etc/sudoers/. سنطبّق الخطوات المشروحة هنا على خادوم Ubuntu 14.04؛ يجب أن تكون هذه الخطوات صالحة لأغلب توزيعات لينوكس الحديثة. نفترض في هذا الدّرس، أنّك أكملت خطوات درس الإعداد الابتدائي لخادوم أوبنتو.سجِّل الدّخول إلى خادوم أوبنتو بحساب مستخدم عادي (غير المستخدم الجذر). كيف يمكن الحصول على امتيّازات المستخدم الجذرتوجد ثلاث طرق للحصول على امتيّازات المستخدم الجذر، تختلف في مستوى صعوبتها. 1- تسجيل الدّخول بحساب المستخدم الجذرأسهل طريقة وأكثرها مباشرة للحصول على امتيّازات root هيّ تسجيل الدّخول بدْءًا بحساب المستخدم الجذر. يكون تسجيل الدّخول عن بعد عبر SSH على النّحو التّالي: ssh root@your_IP_address_or_domainحيث your_IP_address_or_domain يمثّل عنوان IP العموميّ للخادوم أو نطاق الموقع. سيُطلب منك إدخال كلمة السّر قبل الولوج. 2- الانتقال إلى حساب المستخدم الجذر عن طريق “su”لا يُنصَح بتسجيل الدّخول إلى الخادوم بحساب المستخدم الجذر؛ إذ قد يؤدّي ذلك إلى استخدام مُدير النّظام (root) في مهامّ غير إداريّة، وهو أمر خطير أمنيًّا. الطّريقة الثّانيّة تسمح بالحصول على امتيّازات المستخدم الجذر في أيّ وقت، حال الحاجة إليها. يؤدّي أمر su، وهو اختصار لsubstitute user (أي “غيّر المستخدم”)، هذه المهمّة: suسيُطلب منك إدخال كلمة سرّ حساب المستخدم الجذر، ثمّ تنتقل بعدها إلى جلسة Shell خاصّة بالمستخدم الأعلى. للخروج من جلسة المستخدم الجذر، بعد الانتهاء من أداء المهامّ الّتي تتطلّب امتيّازات إداريّة، نفّذ الأمر التّالي: exit3- استخدام “Sudo” لتنفيذ الأوامر بحساب المستخدم الجذرالطّريقة الأخيرة، والأكثر تعقيدًا للحصول على امتيّازات root هيّ استخدام أمر sudo. يسمح أمر sudo بتنفيذ أمر واحد بامتيّازات root، دون الحاجة لإنشاء جلسة Shell جديدة. تُنفَّذ الأوامر على النّحو التّالي (تُمثِّل command_to_execute الأمر المُراد تنفيذه بامتيّازات المستخدم الجذر): sudo command_to_executeعلى عكس su، يطلب أمر sudo كلمة سرّ المستخدِم الّذي يُنفّذ الأمر وليس كلمة سرّ حساب المستخدِم الجذر. لا يعمل أمر sudo افتراضيًّا، نظرًا لتداعيّاته الأمنيّة، ويجب أن يُضبَط قبل أن يؤدّي وظائفه. إذا كنت تابعت خطوات درس الإعداد الابتدائي لخادوم أوبنتو فقد أكملت الإعدادات الأساسيّة لضبط مستخدم بامتيّازات الجذر. سنناقش في الفقرة التّاليّة كيفيّة ضبط الإعداد بتفصيل أكثر. ماهو Visudo؟يُضبَط أمر sudo عبر ملفّ يُتَوَّصل إليه عبر المسار etc/sudoers/. ملحوظة: لاتحرّر أبدًا هذا الملفّ بمحرّر نصوص عاديّ. استخدِم دائمًا أمر visudo لهذا الغرض. من المهمّ جدًّا استخدام أمر sudo لتحرير ملفّ sudoers، إذ يمكن أن يؤدّي استعمال صيغة خاطئة في هذا الملفّ إلى جعل نظام التشغيل في وضع لا يصحّ معه الحصول على امتيّازات إداريّة. يعرض أمر visudo محرّر نصوص شبيهًا بالمحرّرات العاديّة، ولكنّه يُضيف آليّة للتحقّق من صيغة التّعليمات الموجودة في الملفّ؛ تعمل عند محاولة الحفظ. تحول هذه الآليّة دون وجود أخطاء تمنع عمليّات sudo. ملحوظة: استخدِم الزرّيْن CTRL وO معًا لحفظ الملفّ ثمّ Enter للتّأكيد. للخروج اضغط زرّيْ CTRL وX. تاريخيًَا، كان أمر visudo يفتح ملفّ etc/sudoers/ في محرّر vi للنّصوص (اسم الأمر visudo هو مزيج من vi وsudo)، إلّا أنّه في أوبنتو مُعَدّ لاستخدام محرّر nano. في حال أردت العودة لاستخدام vi لتحرير ملفّ sudoers فالأمر التّالي يؤدّي هذه المهمّة sudo update-alternatives --config editorمثال على النّتيجة: There are 3 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ * 0 /bin/nano 40 auto mode 1 /bin/nano 40 manual mode 2 /usr/bin/vim.basic 30 manual mode 3 /usr/bin/vim.tiny 10 manual modeاختر العدد الموافق للمحرّر الّذي تريد اختيّاره. على CentOS، يمكن تغيير هذه القيمة بالتّعديل على السّطر التّالي، الموجود في ملفّ bashrc./~ (تمثّل /path/to/editor المسار إلى المحرّر المطلوب): export EDITOR=/path/to/editorلأخذ التّغييرات في الحسبان، نفِّذ الأمر: ~/.bashrcنفّذ الأمر التّالي، بعد الانتهاء من ضبط visudo، للوصول إلى ملفّ etc/sudoers/: sudo visudoكيف تحرّر ملفّ Sudoersسيظهر - بعد تنفيذ أمر visudo - ملفّ sudoers في محرّر النّصوص. أدناه ملفّ sudoers في أوبنتو 14.04 بعد حذف التّعليقات (يتضمّن الإعدادات الّتي ضبطناها في درس كيف تُضيف أو تحذف المستخدمين على خادوم أوبنتو 14.04). في CentOS يحوي الملفّ أسطرًا أكثر؛ لن نناقشَها كلَّها في هذا الدّليل. Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" root ALL=(ALL:ALL) ALL %admin ALL=(ALL) ALL %sudo ALL=(ALL:ALL) ALLفلنلقِ نظرة على عمل هذه الأسطر. 1- أسطر Defaultsالسّطر الأوّل Defaults env_reset يُعيد تعيين بيئة عمل الطّرفيّة من أجل حذف المتغيّرات الخاصّة بالمستخدمين من بيئة العمل. هذا الإجراء احترازيّ لمسح متغيّرات قد تكون مضرّة من جلسة sudo، Sudo session. تعليمة Defaults mail_badpass تطلب إرسال بريد إلى عنوان إلكتروني تُحدّده تعليمة أخرى (mailto) عندما يُدخل مستخدم كلمة سرّ خاطئة أثناء تنفيذ أمر sudo. هذه التّعليمة مُعطَّلة افتراضيًّا. أمّا التّعليمة الّتي تبدأ ب =Defaults secure_path فتحدّد المسارات Paths الآمنة الّتي سيُبحَث فيها عن أمر sudo. يحول هذا الإجراء دون استخدام مسارات قد تحوي برامج ضارّة. 2- أسطر امتيّازات المستخدميتعلّق السّطر الرّابع بالامتيّازات الّتي ينالها المستخدم عند تنفيذه أمر sudo. root ALL=(ALL:ALL) ALLيُشير الحقل الأوّل من السّطر إلى المستخدِم الّذي تنطبق عليه التّعليمة (المستخدِم الجذر في هذه الحالة). قيمة الحقل التّالي (ALL) تُشير إلى أنّ القاعدة تُطبَّق على جميع المستضيفات Hosts.الحقل الثّالث يُعيّن المستخدمين الّذين يُمكن للمستخدم المحدّد في الحقل الأوّل من السّطر (root في هذه الحالة) تنفيذُ أوامر بامتيّازاتهم. قيمة ALL تعني “كلّ المستخدمين”.الحقل الرّابع يُعيّن مجموعات المستخدمين Groups الّتي يُمكن للمستخدم المحدّد في الحقل الأوّل من السّطر (root في هذه الحالة) تنفيذُ أوامر بامتيّازاتهم. قيمة ALL هنا تعني “كلّ المجموعات”.الحقل الأخير يُشير إلى الأوامر الّتي ينال المستخدم المحدّد في الحقل الأوّل من السّطر امتيّاز تنفيذها بامتيّازات إداريّة. قيمة ALL هنا تعني “جميع الأوامر”.يُمكن تفسير السّطر على النّحو التّالي: لدى المستخدم root امتيّاز تنفيذ sudo على أي أمر بشرط تقديمه لكلمته للسّر. 3- أسطر امتيّازات مجموعات المستخدمينيُشبه السّطران الأخيران سطرَ امتيّازات المستخدِم، لكنّها تحدّد امتيّازات مجموعة من المستخدمين. تُشير الكلمات الّتي تسبقها علامة % إلى أسماء مجموعات مستخدمين. نلاحِظ أن مجموعة المستخدمين admin يُمكنها تنفيذ أيّ أمر بامتيّازات أي مستخدم على جميع المستضيفات؛ أمّا مجموعة admin فلديها، زيّادةً على امتيّازات مجموعة admin، إمكانيّة تنفيذ أوامر بامتيّازات أي مجموعة مستخدمين. كيف تضبُط قواعد مخصَّصةنتناول، بعد التّعرف على الصّيغة العامة لقواعد ملفّ sudoers، في هذه الفقرة طريقة إنشاء قواعد جديدة. 1- كيف تُنشئ كِنى Aliasesيُمكن تنظيم ملفّ sudoers عن طريق تجميع بعض التّعليمات بواسطة كِنى مختلفة. يُنشئ المثال التّالي ثلاث مجموعات مستخدمين (تعليمة User_Alias)، بعضويّات متداخلة: User_Alias GROUPONE = abby, brent, carl User_Alias GROUPTWO = brent, doris, eric, User_Alias GROUPTHREE = doris, felicia, grantيجب أن يبدأ اسم المجموعة بحرف كبير Capital letter. يُمكننا الآن إنشاء قاعدة في ملفّ sudoers تسمح لأعضاء المجموعة GROUPTWO تحديث قاعدة بيانات apt-get : GROUPTWO ALL = /usr/bin/apt-get updateإن لم نُحدّد مستخدمًا أو مجموعة مستخدمين يُنفّذ بامتيّازاتها الأمر، فإن sudo تأخذ المستخدم الجذر root لتنفيذ الأوامر باسمه. في المثال أدناه نمنح أعضاء GROUPTHREE صلاحيّة إيقاف وإعادة تشغيل الجهاز؛ عبر إنشاء “كنية أوامر” Command alias (تعليمة Cmnd_Alias) واستخدامها في قاعدة للمجموعة GROUPTHREE: Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart GROUPTHREE ALL = POWERأنشأنا في السّطر الأوّل كنية باسم POWER تحوي أوامر لإيقاف وإعادة تشغيل الجهاز. ثمّ نعطي لأعضاء المجموعة GROUPTHREE امتيّاز تنفيذ هذه الأوامر. توجد أيضًا إمكانيّة إنشاء كنية بأسماء مستخدمين لتنفيذ الأوامر بامتيّازاتهم (Runas_Alias)، ثمّ إبدال جزء القاعدة الّذي يحدّد المستخدم الّذي لديه صلاحيّة تنفيذ الأمر بكنية أسماء المستخدمين. Runas_Alias WEB = www-data, apache GROUPONE ALL = (WEB) ALLفي المثال السّابق، أنشأنا كنية WEB لتنفيذ أوامر بامتيّازات www-data أو apache؛ ثمّ قاعدة تسمح لكلّ عضو في GROUPONE بتنفيذ أوامر بامتيّازات العضوَيْن المذكورَيْن. يجب الانتباه إلى أنّه في حال وجود تناقض بين قاعدتَيْن في ملفّ sudoers فإنّ القاعدة الأخيرة هيّ الّتي ستُطبَّق. 2- كيف تؤمِّن القواعدتوجد طرُق عدّة لتمكين تحكّم أكبر حول كيفيّة تفاعل sudo مع المستخدم. إذا أردنا مثلًا السّماح للمستخدمين بتنفيذ أمر updatedb، وهو أمر آمِن نسبيًّا، بامتيّازات المستخدم الجذر دون الحاجة لإدخال كلمة سرّ root فالقاعدة التّاليّة تؤدّي هذه المهمّة: GROUPONE ALL = NOPASSWD: /usr/bin/updatedbيظهر في القاعدة أعلاه وسم tag هو NOPASSWD والّذي يعني أنّه لن يُطلَب من المستخدم إدخال كلمة سرّ root. يوجد وسم آخر مصاحِب هو PASSWD (سلوك افتراضيّ) والّذي يطلُب إدخال كلمة السّر. ينطبق الوسم على بقيّة القاعدة ما لم يُذكر توءَمُه بعده. يُمكِن أن نجد قاعدةً على الشّكل التّالي مثلًا: GROUPTWO ALL = NOPASSWD: /usr/bin/updatedb, PASSWD: /bin/killيوجد وسم آخر مهمّ هو NOEXEC والّذي يُستخدم لمنع السّلوك غير الآمن لبعض البرامج. على سبيل المثال؛ تسمح بعض البرامج، مثل less، بتنفيذ أوامر أخرى داخل واجهتها: less fileحيثُ file اسم ملفّ يُنفَّذ عليه أمر less. الآن يُمكن تنفيذ أمر بنفس الصّلاحيّات الّتي نفّذنا بها less على النّحو التّالي (حيثُ command_to_run اسم أمر): !command_to_runلمنع هذا الأمر من الحصول، يُمكن كتابة قاعدة كالتّالية: username ALL = NOEXEC: /usr/bin/lessمعلومات متفرّقةنعرض في هذه الفقرة لمعلومات إضافيّة مفيدة عند التّعامل مع أمر sudo. إذا حدّدت مستخدمين، أو مجموعة مستخدمين، لتنفيذ أوامر بامتيّازاتهم عبر تعليمة Runas_Alias في ملفّ الإعداد؛ فيُمكنك تنفيذ أوامر بامتيّازات هؤلاء المستخدمين عن طريق خيّار u- أو g- على التّوالي: sudo -u run_as_user command sudo -g run_as_group commandحيثُ run_as_user وrun_as_group اسم المستخدم أو مجموعة المستخدمين على التّوالي، و command الأمر المُراد تنفيذه. يحفظ أمر sudo بعد استخدامه تفاصيلَ الاستيثاق Authentication (كلمة السّرّ) في الطّرفيّة الّتي نُفِّذ فيها لفترة من الوقت. يعني هذا أنّك لن تحتاج لإعادة كتابة كلمة السّرّ في كلّ مرّة تستخدم فيها sudo، ما لم تنقضِ فترة الحفظ. إن أردت تصفير المؤقّت، لأغراض أمنيّة مثلًا، نفّذ الأمر التّالي: sudo -kإذا رغبت في معرفة الامتيّازات المُعيَّنة للحساب الّذي تستخدمه فخيّار l- يعطيك هذه المعلومة: sudo -lسيعرض الأمر قائمة بالقواعد الّتي تعني حساب المستخدم ضمن ملفّ etc/sudoers/، وهو ما يُعطي فكرة جيّدة عن المسموح وغير المسموح به لمستخدم عند تنفيذ sudo. يحدُث أن تنسى كتابة sudo أمام أمر تريد تنفيذه بامتيّازات إداريّة، ممّا يؤدّي إلى فشل الأمر. يوجد الاختصار التّالي لتفادي كتابة الأمر مجدّدًا: sudo !!علامة التّعجّب مرّتين تعني “أعد تنفيذ الأمر الأخير”، وبما أنّها مسبوقة ب sudo فالأمر يُصبح “أعد تنفيذ الأمر الأخير بامتيّازات إداريّة”. إذا كنت تتمتّع بحسّ الفكاهة فيُمكنك إضافة تعليمة Defaults insults إلى ملفّ sudoers؛ عمل هذه التّعليمة يتلخّص في كتابة تقريع (بالإنجليزيّة) عندما يُخطئ المستخدم في كلمة السرّ عند تنفيذ أوامر بsudo: sudo visudoأضف التّعليمة التّاليّة بعد تعليمات Defaults الأخرى: Defaults insultsلتجربة الإعداد الأخير، نمسح كلمة السّرّ المحفوظة حتّى نتأكّد من أنّ sudo سيطلُب إدخال كلمة السّرّ: sudo -kثمّ ننفّذ الأمر التّالي، ونكتب كلمة سرّ خاطئة في المرّة الأولى: sudo lsمثال على النّتيجة: [sudo] password for demo: # أدخِل كلمة سرّ خاطئة Your mind just hasn't been the same since the electro-shock, has it? [sudo] password for demo: My mind is going. I can feel it.خاتمةيجب أن يكون لديك بعد إكمال هذا الدّرس فهمٌ جيّد لأساسيّات التّعامل مع ملفّ sudoers وطريقة قراءة وتعديل هذا الملفّ؛ إضافةً إلى معرفة طُرُق الحصول على امتيّازات إداريّة. تذكّر أنّه يوجد سبب لعدم منح امتيّازات المستخدم الأعلى للمستخدمين العاديّين؛ لذا من المهمّ جدًّا فهم آليّة عمل أيّ أمر قبل تنفيذه بامتيّازات root. لا تستهِر في التّعامل مع الصّلاحيّات الإداريّة، وتعلّم أفضل الطّرق لاستخدام هذه الأدوات لتلبيّة حاجاتك. احظُر أي ميزة لا ترى حاجة لاستخدامها. ترجمة بتصرّف لمقال How To Edit the Sudoers File on Ubuntu and CentOS لصاحبه Justin Ellingwood.