هل تعلم أن ملايين مستخدمي لينكس حول العالم يستخدمون أمر sudo
? فهو يتيح لهم التلاعب بالملفات واستخدام ميزات تتطلب امتيازات إضافية. هذا الأمر ضروري جدًا لإدارة نظام لينكس بكفاءة. في هذا الدليل، ستتعلم الأساسيات حول أمر sudo
وكيفية استخدامه في العمل اليومي. بالطبع، من الضروري لكل مستخدم لينكس تعلم أمر sudo
. يساعدك هذا الأمر في الأنشطة الإدارية عند إدخال كلمة المرور الخاصة بك، مما يقلل التعقيد ويعزز الأمان. وبما أنك لست مضطرًا للتبديل إلى حساب الجذر، فتقل مخاطر إتلاف النظام. سيُوضّح لك هذا الدرس كيفية استخدام sudo
لتحسين تجربتك على لينكس.
أمر sudo في لينكس
يُعتبر أمر sudo
هو الأمر الأساسي في لينكس الذي يسمح بتنفيذ الأوامر بامتيازات أعلى. يتطلب استخدام sudo
أولًا فهم وظيفته وأهميته. المصطلح نفسه مشتق من “substitute user and do”، والذي يمكّن بعض المستخدمين من أداء مهام المستخدم المتميز دون الاضطرار دائمًا إلى التحول إلى حساب الجذر. يُعد هذا النهج الأفضل عادةً في الأنظمة التي يشارك فيها عدة مستخدمين جهازًا واحدًا، مع وجود مسؤول يتحكم فيما يمكن لكل منهم فعله.
عند إصدار الأمر sudo
، فإنك تمنح نفسك امتيازات إضافية خلال هذه الدعوة في نفس الجلسة. طريقة الاستخدام بسيطة ومباشرة، مثل: sudo [command]
، بحيث يمكنك على سبيل المثال استدعاء مركز تحكم YaST بأمر sudo yast
أو نسخ الملفات باستخدام sudo cp test.txt /usr/local/bin
أو إدارة الحزم عبر أوامر sudo zypper
. إذا أردت تغيير من يمكنه استخدام sudo
، فعليك تعديل ملف sudoers. هذه خطوة مهمة لتحديد من سيحصل على صلاحيات sudo
.
التعريف والغرض
الغرض من أمر sudo
هو منح المستخدمين حقوقًا إدارية مؤقتة. يُستخدم للعمليات القوية مثل إدارة الخدمات عبر sudo systemctl
، أو تعديل حسابات المستخدمين بواسطته عبر sudo usermod
، أو تغيير ملكية الملفات باستخدام sudo chown
. يعتبر استخدام sudo
ذا قيمة عالية من ناحية الأمان، إذ يتحكم في صلاحيات المستخدمين وفق ما هو محدد في ملف sudoers.
لماذا يعد sudo ضروريًا لأمن النظام
يُشكّل sudo
جزءًا أساسيًا من أمن النظام لأنه يطبّق مبدأ أقل الامتيازات. يمكن توزيع الصلاحيات بحيث لا يمتلك المستخدمون كامل قوة النظام. ومن المهم أيضًا تسجيل إجراءات sudo
في ملف سجل.
الفاصل الزمني الافتراضي قبل إعادة طلب كلمة المرور أثناء استخدام sudo
هو خمس دقائق. يمكن تعديل هذه المدة حسب احتياجات الأمان. باستخدام sudo
بحذر—مثل تجنب الكلمة المفتاحية ALL—يمكنك تقليل نطاق الهجمات، وبالتالي تعزيز أمان النظام.
بناء جملة أمر sudo
البنية الأساسية لـsudo
بسيطة وسهلة الإتقان. يمكنك تنفيذ الأوامر التي تتطلب امتيازات أعلى باستخدام بناء الجملة الخاص بـsudo
، مما يجعله مفتاح الاستخدام الناجح. الشكل الافتراضي هو sudo [command]، حيث تمثل [command] الأمر الذي تريد تشغيله بامتيازات موسّعة.
للاطلاع على بناء جملة sudo
بالكامل، عليك قراءة دليل sudoers. فهو يوفر شرحًا مفصلاً لبناء الجملة والخيارات وكيفية الإعداد.
بعض النقاط المهمة بخصوص بناء جملة sudo
هي:
- يُستخدم أمر
sudo
لتشغيل الأوامر بامتيازات أعلى. - المدة الافتراضية للامتيازات المرتفعة باستخدام
sudo
هي 15 دقيقة. - يمكنك تكرار الأمر السابق بامتيازات أعلى باستخدام sudo !!، الذي يعيد تنفيذ الأمر الأخير.
بناء الجملة الكامل لأمر sudo:
-sudo -V | -h | -l | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command
الخيارات المتاحة في أمر sudo
الخيارات | الوصف | الصيغة |
---|---|---|
-V | يقوم الخيار -V (version) بطباعة رقم إصدار sudo والخروج. إذا كان المستخدم المستدعي هو الجذر بالفعل، فسيطبع قائمة بالإعدادات الافتراضية التي تم تجميع sudo بها. | sudo -V |
-l | يقوم الخيار -l (list) بطباعة الأوامر المسموح بها (والمحظورة) للمستخدم على المضيف الحالي. | sudo -l |
-h أو –help | يُظهر الخيار -h رسالة الاستخدام ثم يخرج. | sudo -h |
-v | يقوم الخيار -v (validate) بتحديث الطابع الزمني للمستخدم، طالبًا كلمة المرور إذا لزم الأمر. يُمدد مهلة sudo لخمس دقائق إضافية (أو كما هو محدد في sudoers) دون تنفيذ أي أمر وبدون إخراج. | sudo -v |
-k | يقوم الخيار -k (kill) بإلغاء صلاحية الطابع الزمني للمستخدم، مما يجعل sudo يطلب كلمة المرور في المرة التالية دون الحاجة لهذا الخيار نفسه. | sudo -k |
-K | يشبه الخيار -k، إذ يزيل الطابع الزمني للمستخدم بالكامل دون طلب كلمة مرور. | sudo -K |
-b | يطلب الخيار -b (background) تشغيل الأمر في الخلفية. لاحظ أنه لا يمكنك استخدام التحكم بالمهام في الصدفة مع هذا الخيار. | sudo -b [command] |
-p | يتيح الخيار -p تخصيص رسالة طلب كلمة المرور التي يعرضها sudo. | sudo -p “أدخل كلمة المرور” [command] |
-n | يسمح الخيار -n بتنفيذ الأمر دون طلب كلمة مرور، مفيد للمهام الخلفية أو السكربتات. | sudo -n [command] |
-u | يشغّل الخيار -u الأمر كمستخدم معين غير الجذر. لتحديد UID بدل الاسم، استخدم #uid. | sudo -u [user] [command] |
-s | يشغّل الخيار -s الصدفة المحددة في متغير SHELL أو كما في ملف passwd. | sudo -s [command] |
-H | يضبط الخيار -H متغير HOME على دليل المستخدم الهدف (الجذر افتراضيًا). | sudo -H [command] |
-S | يقرأ الخيار -S كلمة المرور من الإدخال القياسي بدل الجهاز الطرفي. | sudo -S [command] |
-a | يستخدم الخيار -a نوع المصادقة المحدد عند التحقق من المستخدم كما في /etc/login.conf. | sudo -a [auth-type] [command] |
— | يشير العلم — إلى نهاية خيارات سطر الأوامر، مفيد مع -s. | sudo — [command] |
قد يعجبك: كيفية الوصول إلى الويب المظلم باستخدام متصفح TOR في 2025 على أي جهاز
كيفية إعداد صلاحيات sudo
للحصول على صلاحيات sudo
، عليك تعديل ملف sudoers. يحتوي هذا الملف على جميع أوامر النظام، لذا فهو مهم جدًا ولا ينبغي تغييره بعناية.
أثناء تحرير ملف sudoers يجب استخدام الأمر visudo
، فهو يتحقق من وجود أخطاء قبل الحفظ، مما يمنع منع انغلاقك من النظام. يمكنك أيضًا ضبط مدة صلاحية sudo
كطبقة إضافية للأمان.
تحرير ملف sudoers
يُستخدم الأمر visudo
لتحرير ملف sudoers في محرر آمن يتحقق من الأخطاء قبل الحفظ. كما يُستخدم لإضافة المستخدمين إلى مجموعة sudo.
على سبيل المثال، بإضافة السطر %wheel ALL=(ALL) ALL
إلى هذا الملف، سيتمكن أعضاء مجموعة wheel من تشغيل أي أمر باستخدام sudo
.
إدارة صلاحيات المستخدمين
الأمر usermod
يُستخدم لإضافة أو إزالة صلاحيات المستخدمين، مثال: usermod -aG wheel username
لإضافة مستخدم إلى مجموعة wheel. للاطلاع على مجموعات المستخدم، يمكنك استخدام الأمر id
.
إليك بعض النصائح لإدارة صلاحيات المستخدمين:
- استخدم مبدأ أقل الامتيازات للحد من الوصول إلى الاحتياجات فقط.
- استخدم الأسماء المستعارة للأوامر لتسهيل إدارة الصلاحيات.
- حدد مدة لصلاحيات sudo لتعزيز الأمان.
الأمر | الوصف |
---|---|
visudo | يحرر ملف sudoers في محرر آمن. |
usermod | يعدّل عضوية المستخدم في المجموعات. |
id | يعرض عضوية المستخدم في المجموعات. |
خيارات وعلامات شائعة لأمر sudo
يمكنك إضافة اختيارات وعلامات متعددة لأمر sudo
لتحسين استخدامه. يتيح هذا الأمر للمستخدم العادي أداء مهام إدارية دون الوصول لحساب الجذر، مما يزيد من أمن النظام.
يحتوي sudo
على الكثير من الخيارات، مثل -A (askpass) الذي يطلب كلمة المرور عبر برنامج رسومي، و-i الذي يستدعي الصدفة كصدفة تسجيل دخول فيؤثر على المتغيرات البيئية، و-k الذي يعيد طلب كلمة المرور في المرة التالية عبر مسح بيانات الاعتماد المخزنة.
بعض خيارات sudo الشائعة هي:
- -u: تنفيذ الأمر كمستخدم محدد
- -g: تشغيل الأمر كمجموعة محددة
- -b: تنفيذ الأمر في الخلفية
- -p: تخصيص رسالة الطلب للأمر
تمنح هذه الخيارات مرونة في إدارة الوصول للملفات والأوامر حسب صلاحيات المستخدمين، مما يعزز أمان النظام دون المساس بالكفاءة.
المتغيرات البيئية في عمليات sudo
تلعب المتغيرات البيئية دورًا رئيسيًا عند تشغيل أمر sudo
، حيث تؤثر على سلوكه. لذا من المهم كمستخدم sudo
معرفة كيفية تخصيصها واستكشاف الأخطاء.
الخيار -E يحتفظ بالمتغيرات البيئية الافتراضية، لكنه قد يسبب أخطاء إذا لم تكن الصلاحيات صحيحة. لتجنب ذلك، استخدم إعداد Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"
كما في ArchLinux.
المتغير | الوصف |
---|---|
EDITOR | المحرر الافتراضي في وضع -e (sudoedit) إذا لم يكن VISUAL محددًا. |
HOME | في وضعي -s أو -H (أو إذا تم تمكين –enable-shell-sets-home)، يتم تعيينه إلى دليل المستخدم الهدف. |
PATH | يُضبط على قيمة آمنة إذا تم تفعيل خيار secure_path في sudoers. |
SHELL | يُستخدم لتحديد الصدفة عند استخدام الخيار -s. |
SUDO_PROMPT | يُستخدم كرسالة الطلب الافتراضية لكلمة المرور. |
SUDO_COMMAND | يُضبط على الأمر الذي شغّله sudo. |
SUDO_USER | يُضبط على اسم المستخدم الذي استدعى sudo. |
SUDO_UID | يُضبط على UID للمستخدم الذي استدعى sudo. |
SUDO_GID | يُضبط على GID للمستخدم الذي استدعى sudo. |
SUDO_PS1 | إذا كان محددًا، يُضبط PS1 على قيمته. |
USER | يُضبط على المستخدم الهدف (الجذر افتراضيًا إلا إذا استخدم الخيار -u). |
VISUAL | المحرر الافتراضي في وضع -e (sudoedit). |
قد يعجبك: هل يمكن تتبع البريد المؤقت لمدة 10 دقائق؟ استكشاف الخرافات والحقائق في 2025
تعديل إعدادات البيئة
لتعديل إعدادات البيئة، استخدم visudo
لتحرير ملف sudoers. يتضمن هذا الملف تعريف سلوك أمر sudo بما في ذلك المتغيرات البيئية، ويمكنك من خلاله ضبط الأمر بما يتوافق مع متطلبات النظام.
استكشاف مشكلات البيئة وحلها
قد يكون إصلاح مشكلات البيئة صعبًا، لكن أدوات مثل sudo -V
تساعد على معرفة أي المتغيرات البيئية مسموح بها أو ممنوعة. كما يمكنك استخدام sudoedit
لتحرير الملفات بالمساعد في مشاكل الأذونات.
المتغير البيئي | الوصف |
---|---|
ftp_proxy | يحدد خادم وكيل FTP |
http_proxy | يحدد خادم وكيل HTTP |
https_proxy | يحدد خادم وكيل HTTPS |
no_proxy | يحدد المضيفات التي لا تتطلب وكيلًا |
فهم المتغيرات البيئية يساعد في تخصيص أمر sudo
. كمستخدم sudo، معرفة المتغيرات المحفوظة أو المحذوفة أمر حيوي، واستخدام الأدوات والتقنيات الصحيحة يعزز من قدرتك على حل المشكلات.
تقنيات متقدمة لاستخدام sudo
ستتحسن مع الوقت في استخدام تقنيات متقدمة لإدارة النظام عبر أداة sudo. غالبًا ما يشمل ذلك تشغيل الأوامر كمستخدم أو مجموعة أخرى، مثل استخدام الخيار sudo -u
:
على سبيل المثال: sudo -u john whoami
سيظهر “john” كمستخدم حالي. يمكنك أيضًا تكوين sudo للسماح لمستخدمين محددين بتنفيذ أوامر دون كلمة مرور عبر تعديل ملف sudoers. مثلًا:
admin ALL=(ALL) NOPASSWD: /usr/bin/apt-get, /usr/bin/systemctl
يمنح المستخدم “admin” صلاحية تشغيل هذه الأوامر دون إدخال كلمة مرور.
يوفر الدليل المتقدم لـsudo عمقًا أكبر لهذه التقنيات. من المهم معرفة ما تقوم به عند إدارة صلاحيات sudo. فيما يلي بعض الإعدادات المهمة:
الإعداد | الوصف |
---|---|
Defaults timestamp_timeout = 0 | يعطل مؤقت sudo ويجعل المستخدمين يدخلون كلمة المرور لكل أمر sudo |
admin ALL=(ALL) NOPASSWD: /usr/bin/apt-get, /usr/bin/systemctl | يمنح المستخدم “admin” صلاحية تشغيل الأوامر المحددة دون كلمة مرور |
john ALL=(ALL) /usr/bin/systemctl * sshd | يمنح المستخدم “john” صلاحية التحكم في خدمة Secure Shell عبر systemctl |
أمثلة لأمر sudo في المهام اليومية
استخدام sudo
يوميًا أمرٌ بالغ الأهمية. يصبح من المهم فهم كيفية عمل sudo وكيفية إعداد ملف sudoers. يمكّن المستخدم من إدارة الملفات، والقيام بمهام النظام، وتثبيت الحزم.
أوامر إدارة الملفات
يمكنك استخدام sudo
لتحرير ملفات النظام وإدارة الأذونات. يعد visudo
الطريقة الآمنة لتحرير ملف sudoers.
مهام إدارة النظام
يمكنك بدء الخدمات وإعادة تشغيلها وضبط إعدادات الشبكة باستخدام sudo
دون الحاجة إلى كلمة مرور الجذر.
عمليات إدارة الحزم
يمكنك تثبيت أو إزالة البرمجيات باستخدام sudo apt-get
أو sudo yum
.
فهم واستخدام sudo
وإعداد ملف sudoers سيجعل المهام اليومية أسهل وأكثر أمانًا. احرص على اتباع إرشادات الأمان دائمًا.
استكشاف أخطاء sudo الشائعة وإصلاحها
أخطاء رفض الإذن
لحل أخطاء رفض الإذن، جرب الخطوات التالية:
- راجع ملف sudoers للتأكد من أن حسابك لديه الصلاحيات الصحيحة.
- تأكد من صحة بناء جملة sudo.
- تحقق من أذونات الملف ومالكيه لضمان صحتها.
مشكلات المصادقة
لحل مشكلات المصادقة، قم بما يلي:
- تأكد من إعداد تكوين PAM بشكل صحيح.
- تحقق من إدخال كلمة المرور بشكل صحيح.
- تأكد من أن حسابك غير منتهي الصلاحية أو مقفل.
الخاتمة
أمر sudo
هو الأمر الأساسي لإدارج مهامك على نظام لينكس بأمان وكفاءة. يغطي هذا المقال من الأساسيات إلى التقنيات المتقدمة، مما يؤهلك لإدارة النظام بشكل سليم. يسمح sudo
للمستخدمين بتنفيذ الأوامر الإدارية بشكل آمن مع تسجيل المسؤوليات حول من نفّذ ماذا ومتى. يجب توخي الحذر عند استخدامه يوميًا وتقييد صلاحيات sudo لعدد محدود من المستخدمين، بالإضافة إلى استخدام كلمات مرور قوية ومراقبة التهديدات الجديدة. مع الممارسة، ستصبح بارعًا في إدارة أمر sudo
على أنظمتك.
ما هو أمر sudo في لينكس؟
sudo
في لينكس للمستخدمين الوصول إلى الملفات والعمليات التي لا يمكنهم الوصول إليها عادةً. يُستخدم لتشغيل الأوامر التي تتطلب امتيازات إضافية، مما يجعل مهام إدارة النظام أكثر أمانًا.ما الغرض من أمر sudo؟
sudo
أساسيًا للحفاظ على أمان الأنظمة. صُمم لإدارة المهام الحساسة بأمان، حيث يمنح المستخدمين امتيازات مؤقتة لأداء مهام محددة.كيف أستخدم أمر sudo؟
sudo
سهل، فقط اكتب sudo [command]
. مناسب لعمليات مثل تثبيت البرمجيات أو تعديل إعدادات النظام.كيف أعد صلاحيات sudo؟
sudo
، عدِّل ملف sudoers. يتحكم هذا الملف في من يمكنه استخدام الأمر، ويمكنك ضبط الأذونات واتباع نصائح الأمان.كيف أحل مشكلات sudo الشائعة؟
sudo
بشكل أفضل.ما الذي يمكنني تشغيله باستخدام sudo؟
sudo
لكن احرص على مراجعتها جيدًا قبل التنفيذ:تثبيت حزمة جديدة:
sudo apt-get install package_name
تحديث النظام:
sudo apt-get update && sudo apt-get upgrade
تعديل إعدادات النظام:
sudo nano /etc/fstab
بدء خدمة نظام:
sudo systemctl start service_name
إيقاف خدمة نظام:
sudo systemctl stop service_name
إنشاء حساب مستخدم جديد:
sudo useradd username
تغيير أذونات ملف:
sudo chmod 755 file_name