دليل شامل لإدارة وصيانة نظام أوبنتو، من إدارة المستخدمين إلى ضبط الأداء ومراقبة النظام
إدارة النظام هي مجموعة من المهام والممارسات التي تهدف إلى تشغيل وصيانة نظام التشغيل بكفاءة وأمان. في نظام أوبنتو، تتراوح مهام الإدارة من المهام البسيطة مثل إدارة المستخدمين والمجموعات، إلى المهام المتقدمة مثل ضبط الأداء، وإدارة الخدمات، ومراقبة موارد النظام.
في هذا الدليل، سنتعرف على مختلف جوانب إدارة نظام أوبنتو، مع التركيز على الأدوات والأوامر الأساسية التي يحتاجها مدير النظام. سواء كنت تدير جهازك الشخصي أو خادمًا في بيئة إنتاجية، ستجد هنا المعلومات التي تحتاجها لإدارة نظامك بكفاءة.
العديد من أوامر وأدوات إدارة النظام تتطلب صلاحيات المستخدم الجذر (root). في أوبنتو، يتم استخدام أمر sudo
لتنفيذ الأوامر بصلاحيات المدير. تأكد من فهم تأثير الأمر قبل تنفيذه، خاصة عند استخدام صلاحيات المدير، لأن الأخطاء قد تؤدي إلى مشاكل في النظام.
تنقسم مهام إدارة النظام إلى عدة مجالات رئيسية، كل منها يركز على جانب معين من جوانب تشغيل وصيانة النظام
إنشاء وإدارة حسابات المستخدمين، وضبط الصلاحيات، وإدارة المجموعات وملفات التعريف.
المزيد من التفاصيلأدوات ومفاهيم مراقبة أداء النظام، ومتابعة استخدام الموارد، وإدارة السجلات.
المزيد من التفاصيلإدارة خدمات النظام باستخدام systemd، وضبط الخدمات لبدء التشغيل التلقائي، ومراقبة حالتها.
المزيد من التفاصيلإدارة الأقراص والأقسام، وأنظمة الملفات، ومراقبة استخدام المساحة، وإدارة النسخ الاحتياطية.
المزيد من التفاصيلتكوين إعدادات الشبكة، وإدارة الاتصالات، وضبط جدار الحماية، وحل مشكلات الشبكة.
المزيد من التفاصيلتأمين النظام، وإدارة التحديثات الأمنية، وضبط السياسات الأمنية، ومراقبة الأحداث الأمنية.
المزيد من التفاصيلنظام لينكس هو نظام متعدد المستخدمين، مما يعني أنه يمكن لعدة مستخدمين استخدام النظام في نفس الوقت. تسمح إدارة المستخدمين بإنشاء وتعديل وحذف حسابات المستخدمين، وتحديد صلاحياتهم وإدارة كلمات المرور والمجموعات.
sudo adduser username
يقوم هذا الأمر بإنشاء مستخدم جديد مع مجلد رئيسي وإعدادات افتراضية، ويطلب منك إدخال كلمة المرور ومعلومات إضافية.
sudo useradd -m -s /bin/bash username
الخيار -m
ينشئ مجلدًا رئيسيًا للمستخدم، والخيار -s
يحدد الصدفة (shell) الافتراضية.
sudo passwd username
sudo deluser username
لحذف المستخدم مع المجلد الرئيسي وجميع الملفات:
sudo deluser --remove-home username
sudo usermod [options] username
الخيارات الشائعة:
-c "Comment"
: تغيير وصف المستخدم-d /path/to/home
: تغيير المجلد الرئيسي-s /path/to/shell
: تغيير الصدفة الافتراضية-L
: قفل حساب المستخدم-U
: إلغاء قفل حساب المستخدمid username
لعرض قائمة بجميع المستخدمين:
getent passwd
sudo addgroup groupname
sudo adduser username groupname
أو باستخدام usermod:
sudo usermod -aG groupname username
الخيار -a
يعني إضافة إلى المجموعات الحالية دون إزالتها، والخيار -G
يحدد المجموعات.
sudo deluser username groupname
sudo delgroup groupname
getent group
لعرض المجموعات التي ينتمي إليها مستخدم معين:
groups username
يسمح sudo للمستخدمين بتنفيذ أوامر محددة بصلاحيات المستخدم الجذر. في أوبنتو، يتم منح صلاحيات sudo للمستخدمين من خلال إضافتهم إلى مجموعة sudo.
sudo adduser username sudo
sudo visudo
يفتح هذا الأمر ملف التكوين /etc/sudoers
في محرر نصوص آمن، ويسمح لك بتحديد صلاحيات sudo بشكل دقيق.
# السماح للمستخدم بتنفيذ أوامر معينة فقط
username ALL=(ALL) /usr/bin/apt, /usr/bin/systemctl
# السماح للمستخدم بتنفيذ أوامر محددة دون كلمة مرور
username ALL=(ALL) NOPASSWD: /usr/bin/apt
تحذير: كن حذرًا عند تعديل ملف sudoers. الأخطاء في هذا الملف قد تمنعك من استخدام sudo في المستقبل.
مراقبة النظام هي عملية متابعة أداء نظام التشغيل وموارده بهدف تحديد المشكلات المحتملة وتحسين الأداء. في أوبنتو، هناك العديد من الأدوات التي تساعد في مراقبة النظام، بدءًا من أدوات سطر الأوامر البسيطة إلى تطبيقات الواجهة الرسومية المتطورة.
top
يعرض هذا الأمر عمليات النظام وتفاصيل استخدام الموارد بشكل متغير في الوقت الحقيقي. الخروج من البرنامج يتم بالضغط على "q".
htop
واجهة تفاعلية أكثر تطورًا لمراقبة العمليات. إذا لم يكن مثبتًا بالفعل، يمكنك تثبيته باستخدام:
sudo apt install htop
free -h
يعرض معلومات عن استخدام الذاكرة RAM والتبادل (swap). الخيار -h
يعرض الأرقام بطريقة سهلة القراءة.
df -h
يعرض استخدام مساحة القرص لجميع أنظمة الملفات المثبتة.
du -sh /path/to/directory
يعرض الحجم الإجمالي للمجلد المحدد. الخيار -s
يعني الملخص، والخيار -h
يعرض الحجم بطريقة سهلة القراءة.
ps aux
يعرض تفاصيل عن العمليات الجارية في النظام.
vmstat 1
يعرض إحصائيات نظام التشغيل الافتراضي كل ثانية.
أداة مراقبة شاملة تعرض نظرة عامة عن الموارد الرئيسية للنظام.
sudo apt install glances
glances
أداة مراقبة نظام متقدمة مع واجهة ويب تفاعلية، مثالية لمراقبة الخوادم عن بُعد.
sudo apt install netdata
بعد التثبيت، يمكنك الوصول إلى لوحة التحكم من المتصفح على العنوان: http://localhost:19999
أداة لعرض أداء النظام ومراقبة الموارد.
sudo apt install nmon
nmon
أداة لمراقبة نشاط القراءة/الكتابة على القرص.
sudo apt install iotop
sudo iotop
تحتفظ أنظمة لينكس بسجلات (logs) تفصيلية للأحداث والأنشطة. مراقبة وتحليل هذه السجلات مهم للتشخيص وحل المشكلات ومراقبة الأمان.
معظم ملفات السجلات موجودة في المجلد /var/log/
.
ls -l /var/log/
sudo less /var/log/syslog
هذا الملف يحتوي على سجلات أحداث النظام العامة.
sudo tail -f /var/log/syslog
يعرض آخر عشرة أسطر من الملف ويستمر في تحديث المعلومات عند إضافة محتوى جديد.
sudo less /var/log/auth.log
يحتوي على سجلات تسجيل الدخول والمصادقة.
أداة لعرض وإدارة سجلات systemd.
journalctl
لعرض سجلات خدمة معينة:
journalctl -u service-name
لعرض سجلات اليوم الحالي:
journalctl --since today
الخدمات (services) هي برامج تعمل في الخلفية لتوفير وظائف مختلفة للنظام. في أوبنتو الحديث، يتم إدارة الخدمات بواسطة نظام systemd، وهو نظام إدارة يتحكم في بدء تشغيل الخدمات وإيقافها ومراقبتها.
systemctl status service-name
يعرض معلومات مفصلة عن حالة الخدمة، بما في ذلك ما إذا كانت نشطة أو غير نشطة، وآخر سجلات الأحداث المتعلقة بها.
sudo systemctl start service-name
sudo systemctl stop service-name
sudo systemctl restart service-name
sudo systemctl reload service-name
يعيد تحميل ملفات تكوين الخدمة دون إيقافها وإعادة تشغيلها.
sudo systemctl enable service-name
sudo systemctl disable service-name
systemctl list-units
systemctl list-units --type=service
systemctl list-units --type=service --all
systemctl cat service-name
يعرض محتوى ملف تكوين الوحدة.
يمكنك إنشاء خدمات مخصصة لتشغيل برامجك الخاصة كخدمات في الخلفية.
sudo nano /etc/systemd/system/myservice.service
محتوى نموذجي لملف وحدة خدمة:
[Unit]
Description=My Custom Service
After=network.target
[Service]
Type=simple
User=username
WorkingDirectory=/path/to/working/directory
ExecStart=/path/to/your/program
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable myservice
sudo systemctl start myservice
الأمر الأول يخبر systemd بإعادة تحميل تكوين جميع الوحدات.
إدارة التخزين تشمل التعامل مع الأقراص والأقسام وأنظمة الملفات ومراقبة استخدام المساحة. في أوبنتو، هناك العديد من الأدوات للتعامل مع هذه المهام.
sudo fdisk -l
يعرض جميع الأقراص وأقسامها في النظام.
lsblk
يعرض تسلسل الأقراص وأقسامها بطريقة شجرية.
sudo parted /dev/sdX
استبدل sdX
باسم القرص الذي تريد إدارته (مثل sda
، sdb
، إلخ).
sudo apt install gparted
sudo gparted
sudo mkfs.ext4 /dev/sdXY
استبدل sdXY
باسم القسم الذي تريد تهيئته (مثل sda1
، sdb2
، إلخ).
sudo fsck /dev/sdXY
يجب أن يكون نظام الملفات غير مثبت عند تنفيذ هذا الأمر.
sudo mkdir /mnt/mydisk
sudo mount /dev/sdXY /mnt/mydisk
تحرير ملف /etc/fstab
:
sudo nano /etc/fstab
إضافة سطر مثل:
UUID=your-uuid /mnt/mydisk ext4 defaults 0 2
يمكنك الحصول على UUID باستخدام:
sudo blkid
df -h
du -sh /path/to/directory
du -h --max-depth=1 /path | sort -hr
sudo apt install ncdu
ncdu /path/to/directory
أداة مرئية تفاعلية لتحليل استخدام المساحة.
rsync -avz --progress /source/directory /destination/directory
-a
للوضع الأرشيفي، -v
للمخرجات المفصلة، -z
للضغط.
tar -czvf backup.tar.gz /path/to/backup
أداة للنسخ الاحتياطي للنظام ونقاط الاستعادة:
sudo apt install timeshift
sudo timeshift-gtk
واجهة رسومية بسيطة للنسخ الاحتياطي:
sudo apt install deja-dup
إدارة الشبكة في أوبنتو تشمل تكوين واجهات الشبكة، وإعداد الاتصالات، وحل مشكلات الشبكة، وتأمين الاتصالات.
ip a
أو باستخدام الأمر التقليدي:
ifconfig
ping example.com
ip route
أو:
route -n
cat /etc/resolv.conf
للاستعلام عن سجل DNS:
nslookup example.com
sudo netstat -tulpn
أو باستخدام ss:
sudo ss -tulpn
Netplan هو نظام تكوين الشبكة الافتراضي في أوبنتو الحديث. يستخدم ملفات YAML لتكوين واجهات الشبكة.
/etc/netplan/
عادة ما تكون هناك ملفات بأسماء مثل 01-netcfg.yaml
أو 50-cloud-init.yaml
.
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
sudo netplan apply
اختبار التكوين دون تطبيقه بشكل دائم:
sudo netplan try
أوبنتو يستخدم UFW (Uncomplicated Firewall) كواجهة بسيطة لجدار الحماية iptables.
sudo ufw enable
sudo ufw status
للحصول على معلومات أكثر تفصيلاً:
sudo ufw status verbose
sudo ufw allow 22
للسماح بخدمة محددة:
sudo ufw allow ssh
sudo ufw deny 25
sudo ufw delete allow 22
تعطيل جدار الحماية:
sudo ufw disable
traceroute example.com
إذا لم يكن مثبتًا:
sudo apt install traceroute
host example.com
أو:
dig example.com
sudo tcpdump -i enp0s3
استبدل enp0s3
باسم واجهة الشبكة لديك.
sudo apt install wireshark
sudo wireshark
أمان النظام هو أحد أهم جوانب إدارة نظام لينكس. يشمل ذلك تأمين النظام ضد التهديدات الخارجية، وإدارة التحديثات الأمنية، ومراقبة النشاط المشبوه.
تحديث النظام بانتظام هو أحد أهم جوانب الأمان. تتضمن التحديثات إصلاحات للثغرات الأمنية والمشكلات المعروفة.
sudo apt update
sudo apt upgrade
sudo unattended-upgrade --dry-run
لتنفيذه فعليًا:
sudo unattended-upgrade
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
sudo apt install libpam-pwquality
sudo nano /etc/pam.d/common-password
إضافة معايير كلمة المرور:
password requisite pam_pwquality.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 reject_username enforce_for_root
sudo nano /etc/login.defs
تعديل القيم التالية:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
find /etc -type f -perm -o+w
يبحث عن الملفات في /etc التي يمكن للجميع الكتابة عليها، وهذا غير آمن عمومًا.
SSH هو أحد المداخل الرئيسية للنظام، لذا فإن تأمينه ضروري.
sudo nano /etc/ssh/sshd_config
# منع تسجيل دخول المستخدم الجذر مباشرة
PermitRootLogin no
# استخدام بروتوكول SSH الإصدار 2 فقط
Protocol 2
# تعطيل المصادقة بكلمة المرور (استخدام مفاتيح SSH فقط)
PasswordAuthentication no
# تحديد المستخدمين المسموح لهم بالدخول
AllowUsers username1 username2
# تغيير المنفذ الافتراضي
Port 2222
sudo systemctl restart ssh
sudo apt install lynis
sudo lynis audit system
يقوم بإجراء تدقيق شامل لنظامك ويقدم توصيات لتحسين الأمان.
sudo apt install aide
sudo aideinit
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
للتحقق من تغييرات النظام:
sudo aide --check
grep "Failed password" /var/log/auth.log
يعرض محاولات تسجيل الدخول الفاشلة.
AppArmor هو نظام أمان قائم على القواعد يحد من صلاحيات البرامج وفقًا لملفات تعريف محددة مسبقًا.
sudo aa-status
sudo apt install apparmor apparmor-utils
sudo systemctl enable apparmor
sudo systemctl start apparmor
يمكنك استخدام أوامر مثل top
أو htop
لمراقبة المعالج والذاكرة، و df -h
لمساحة القرص، و iotop
لنشاط القرص، و nethogs
لنشاط الشبكة. كما يمكنك استخدام أدوات رسومية مثل "مراقب النظام".
يمكنك استخدام &
في نهاية الأمر لتشغيله في الخلفية، مثل command &
. أو يمكنك استخدام nohup command &
لضمان استمرار التشغيل حتى بعد إغلاق الجلسة. للمهام المتكررة، استخدم cron
.
أفضل الممارسات تشمل: تحديث النظام بانتظام، استخدام جدار حماية (UFW)، تقليل الخدمات غير الضرورية، استخدام كلمات مرور قوية، تعطيل تسجيل دخول المستخدم الجذر عبر SSH، مراقبة السجلات بانتظام، واستخدام التشفير للبيانات الحساسة.
استخدم crontab -e
لتحرير مهام cron الخاصة بك. الصيغة: * * * * * command
(الدقائق 0-59، الساعات 0-23، يوم الشهر 1-31، الشهر 1-12، يوم الأسبوع 0-7). مثال لتشغيل نص كل يوم في الساعة 2 صباحًا: 0 2 * * * /path/to/script.sh
أولاً، استخدم df -h
لمعرفة القسم الممتلئ. ثم استخدم du -sh /*
لتحديد المجلدات الكبيرة، وتصفية المزيد باستخدام du -sh /path/*
. ابحث عن سجلات كبيرة باستخدام find /var/log -type f -size +100M
. قم بتنظيف الحزم غير المستخدمة باستخدام sudo apt autoremove
و sudo apt clean
.