تُعد إدارة لينكس مهارة حاسمة لأي مطور أو مهندس DevOps. إتقان المكونات الأساسية لنظام التشغيل يتيح لك الحفاظ على بيئات آمنة وفعّالة ومستقرة. يغطي هذا الدليل الأركان الأساسية لإدارة أنظمة لينكس: المستخدمين، والملفات، والحزم، والخدمات، والصيانة.
إدارة المستخدمين والمجموعات
تُعد إدارة المستخدمين الفعّالة خط الدفاع الأول. يجب أن تفهم كيفية إنشاء المستخدمين والمجموعات وتعديلها وحذفها. تخزن الملفات /etc/passwd و /etc/shadow بيانات اعتماد المستخدمين وسياسات كلمات المرور.
# إنشاء مستخدم جديد مع دليل رئيسي
sudo useradd -m -s /bin/bash jdoe
# تعيين كلمة مرور للمستخدم الجديد
sudo passwd jdoe
# إضافة المستخدم إلى مجموعة sudo للحصول على امتيازات أعلى
sudo usermod -aG sudo jdoe
تحقق دائمًا من عضوية المجموعة باستخدام الأمر id للتأكد من تطبيق الأذونات بشكل صحيح.
أنظمة الملفات والأذونات
يُعد فهم تسلسل هرمي لنظام ملفات لينكس ونماذج الأذونات أمرًا حيويًا. يستخدم لينكس ثلاثة أنواع من الأذونات: القراءة (r)، والكتابة (w)، والتنفيذ (x)، والتي تُطبق على ثلاث فئات: المالك، والمجموعة، والآخرين.
# عرض الأذونات التفصيلية
ls -l /var/www/html
# تغيير الملكية بشكل تكراري
sudo chown -R www-data:www-data /var/www/html
# تعيين أذونات مقيدة (755 للمجلدات، 644 للملفات)
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
استخدم chmod و chown بشكل متكرر لتأمين المجلدات الحساسة. لا تشغل الخدمات أبدًا كمستخدم root ما لم يكن ذلك ضروريًا للغاية؛ استخدم حسابات خدمات مخصصة بدلاً من ذلك.
إدارة الحزم
تستخدم معظم توزيعات لينكس إما مدير حزم يعتمد على RPM (Red Hat/CentOS) أو DEB (Debian/Ubuntu). يُعد الحفاظ على تحديث البرامج أمرًا بالغ الأهمية للأمان والتوافق.
# Debian/Ubuntu: التحديث والترقية
sudo apt update
sudo apt upgrade -y
# CentOS/RHEL: تحديث جميع الحزم
sudo yum update -y
# أو على الإصدارات الأحدث باستخدام dnf:
sudo dnf upgrade -y
تحقق دائمًا من سجل التغييرات أو ملاحظات الإصدار قبل ترقية حزم النظام الحرجة لتجنب كسر التبعيات.
إدارة الخدمات باستخدام systemd
تعتمد أنظمة لينكس الحديثة على systemd لإدارة الخدمات. يوفر طريقة موحدة لبدء الخدمات وإيقافها ومراقبتها.
# التحقق من حالة خدمة
sudo systemctl status nginx
# تمكين خدمة للبدء عند تشغيل النظام
sudo systemctl enable docker
# إعادة تشغيل خدمة بعد تغييرات التكوين
sudo systemctl restart apache2
استخدم journctl -u service_name لعرض السجلات للخدمات المحددة، مما يساعد في استكشاف أخطاء فشل التشغيل أو أخطاء وقت التشغيل.
صيانة النظام
تضمن الصيانة المنتظمة صحة النظام على المدى الطويل. تشمل المهام الرئيسية مراقبة استخدام القرص، وتنظيف السجلات القديمة، وإدارة موارد النظام.
# التحقق من استخدام القرص
df -h
# العثور على الملفات الكبيرة لتنظيفها
sudo find / -type f -size +100M
# عرض العمليات النشطة مرتبة حسب استخدام الذاكرة
ps aux --sort=-%mem | head
نفذ النسخ الاحتياطي الآلي وخذ في الاعتبار استخدام أدوات مثل logrotate لمنع ملفات السجلات من استهلاك كل مساحة القرص المتاحة. من خلال الالتزام بهذه الممارسات الفضلى، يمكنك الحفاظ على بنية أساسية قوية وآمنة لنظام لينكس.
الخاتمة
تتطلب إدارة لينكس مزيجًا من المعرفة النظرية والإتقان العملي لسطر الأوامر. من خلال إتقان إدارة المستخدمين، والأذونات، والتعامل مع الحزم، والتحكم في الخدمات، والصيانة الروتينية، تبني أساسًا متينًا لإدارة الأنظمة المعقدة. يعد التعلم المستمر والتحقق من التغييرات مفتاح النجاح طويل الأمد في إدارة الأنظمة.