الاتصال بخادم VDS عبر SSH: PuTTY والطرفية والمفاتيح
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
إدارة مستخدمي Linux مع useradd/usermod/userdel، إدارة المجموعات، إعداد sudo، المصادقة بمفتاح SSH ومبدأ الصلاحيات الدنيا.
تُعدّ إدارة المستخدمين والصلاحيات في Linux ركيزة أساسية لأمان الخادم. تمنع الحسابات والأذونات المُعدّة بشكل صحيح الوصول غير المصرح به وتحدّ من تأثير الاختراقات الأمنية. يغطي هذا الدليل إدارة مستخدمي Linux وهيكل المجموعات وإعداد sudo والمصادقة بمفتاح SSH.
# إنشاء مستخدم أساسي
sudo useradd اسم_المستخدم
# إنشاء مستخدم مع مجلد المنزل
sudo useradd -m اسم_المستخدم
# مع مجلد المنزل والصدفة والتعليق
sudo useradd -m -s /bin/bash -c "الاسم الكامل" اسم_المستخدم
# بـ UID محدد
sudo useradd -m -u 1500 اسم_المستخدم
# مع المجموعة الأساسية
sudo useradd -m -g www-data اسم_المستخدم
# تعيين كلمة المرور
sudo passwd اسم_المستخدم
# عرض معلومات المستخدم
id اسم_المستخدم
getent passwd اسم_المستخدم
# إعادة تسمية المستخدم
sudo usermod -l الاسم_الجديد الاسم_القديم
# تغيير مجلد المنزل
sudo usermod -d /مجلد/منزل/جديد -m اسم_المستخدم
# تغيير الصدفة
sudo usermod -s /bin/bash اسم_المستخدم
# قفل الحساب
sudo usermod -L اسم_المستخدم
# فتح الحساب
sudo usermod -U اسم_المستخدم
# تعيين تاريخ انتهاء الحساب
sudo usermod -e 2025-12-31 اسم_المستخدم
# إجبار تغيير كلمة المرور عند تسجيل الدخول التالي
sudo chage -d 0 اسم_المستخدم
# حذف المستخدم (يُحفظ مجلد المنزل)
sudo userdel اسم_المستخدم
# حذف المستخدم ومجلد المنزل
sudo userdel -r اسم_المستخدم
# البحث عن الملفات المملوكة للمستخدم
find / -user اسم_المستخدم 2>/dev/null
# إنشاء مجموعة
sudo groupadd المطورون
# إضافة مستخدم إلى مجموعة
sudo usermod -aG المطورون اسم_المستخدم
# إضافة إلى مجموعات متعددة
sudo usermod -aG مجموعة1,مجموعة2,مجموعة3 اسم_المستخدم
# عرض مجموعات المستخدم
groups اسم_المستخدم
id اسم_المستخدم
# سرد المستخدمين في مجموعة
getent group المطورون
# إزالة مستخدم من مجموعة
sudo gpasswd -d اسم_المستخدم المطورون
# حذف مجموعة
sudo groupdel المطورون
# إعادة تسمية مجموعة
sudo groupmod -n الاسم_الجديد الاسم_القديم
# إضافة مستخدم إلى مجموعة sudo (Debian/Ubuntu)
sudo usermod -aG sudo اسم_المستخدم
# إضافة مستخدم إلى مجموعة wheel (RHEL/CentOS)
sudo usermod -aG wheel اسم_المستخدم
# اختبار التغيير
su - اسم_المستخدم
sudo whoami # يجب أن يُخرج: root
# تعديل ملف sudoers بأمان
sudo visudo
# محتوى /etc/sudoers
# صلاحية sudo كاملة للمستخدم
اسم_المستخدم ALL=(ALL:ALL) ALL
# sudo بدون كلمة مرور (استخدم بحذر)
اسم_المستخدم ALL=(ALL) NOPASSWD: ALL
# sudo لأوامر محددة فقط
اسم_المستخدم ALL=(ALL) /usr/bin/systemctl, /usr/bin/apt
# صلاحية sudo لمجموعة
%المطورون ALL=(ALL:ALL) ALL
# بدون كلمة مرور لأمر محدد
اسم_المستخدم ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
# إنشاء ملف منفصل (الطريقة الموصى بها)
sudo nano /etc/sudoers.d/اسم_المستخدم
# محتوى الملف
اسم_المستخدم ALL=(ALL:ALL) ALL
# تعيين أذونات الملف
sudo chmod 440 /etc/sudoers.d/اسم_المستخدم
# عرض الأذونات
ls -la /مجلد/
# تغيير الأذونات (رقمي)
chmod 755 سكريبت.sh # rwxr-xr-x
chmod 644 ملف.txt # rw-r--r--
chmod 600 سري.key # rw-------
# تغيير الأذونات (رمزي)
chmod u+x سكريبت.sh # إضافة تنفيذ للمالك
chmod g-w ملف.txt # إزالة الكتابة من المجموعة
chmod o-r سري.txt # إزالة القراءة من الآخرين
# تغيير الملكية
chown اسم_المستخدم ملف.txt
chown اسم_المستخدم:مجموعة ملف.txt
# تغيير المجلد ومحتوياته بشكل متكرر
chown -R اسم_المستخدم:مجموعة /مجلد/
# توليد المفتاح على الجهاز المحلي
ssh-keygen -t ed25519 -C "email@example.com"
# مفتاح RSA (للأنظمة القديمة)
ssh-keygen -t rsa -b 4096 -C "email@example.com"
# يتم إنشاء المفاتيح في ~/.ssh/:
# ~/.ssh/id_ed25519 (المفتاح الخاص)
# ~/.ssh/id_ed25519.pub (المفتاح العام)
# باستخدام ssh-copy-id (أسهل طريقة)
ssh-copy-id مستخدم@ip_الخادم
# نسخ يدوي
cat ~/.ssh/id_ed25519.pub | ssh مستخدم@ip_الخادم "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
# إعداد يدوي على الخادم
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys # لصق المفتاح العام
chmod 600 ~/.ssh/authorized_keys
sudo nano /etc/ssh/sshd_config
# تعطيل المصادقة بكلمة المرور (بعد إعداد المفتاح)
PasswordAuthentication no
# تعطيل تسجيل دخول root
PermitRootLogin no
# عدم السماح بكلمات المرور الفارغة
PermitEmptyPasswords no
# الحد الأقصى لمحاولات تسجيل الدخول
MaxAuthTries 3
# السماح لمستخدمين محددين
AllowUsers مستخدم1 مستخدم2
# السماح لمجموعة محددة
AllowGroups ssh-users
# إعادة تشغيل SSH
sudo systemctl restart sshd
# اختبار الإعداد
sudo sshd -t
ينص مبدأ الصلاحيات الدنيا على أن كل مستخدم وعملية يجب أن يمتلكا فقط الحد الأدنى من الأذونات اللازمة لأداء مهمتهما.
# إنشاء مستخدم مخصص للتطبيق (بدون صدفة)
sudo useradd -r -s /usr/sbin/nologin -d /var/lib/myapp myapp_user
# إنشاء مجلد المنزل لمستخدم الخدمة
sudo mkdir -p /var/lib/myapp
sudo chown myapp_user:myapp_user /var/lib/myapp
sudo chmod 750 /var/lib/myapp
تجنب استخدام حساب root مباشرة. أنشئ حسابات منفصلة لكل مسؤول وفوّض عبر sudo. بهذه الطريقة يمكن تتبع جميع الإجراءات.
# عرض آخر عمليات تسجيل الدخول
last
lastlog
# عرض محاولات تسجيل الدخول الفاشلة
lastb
# عرض المستخدمين النشطين
who
w
# مراقبة استخدام sudo
sudo grep sudo /var/log/auth.log
تُشكّل إدارة المستخدمين والصلاحيات في Linux أساس أمان الخادم. امنح كل مستخدم فقط الأذونات التي يحتاجها، واستخدم المصادقة بمفتاح SSH، وقيّد وصول root. تحمي هذه الممارسات خوادم REXE من الوصول غير المصرح به.
'sudo' ينفّذ أمراً محدداً بصلاحيات root (أو مستخدم آخر) باستخدام كلمة مرورك الخاصة. 'su' يتحول كلياً إلى مستخدم آخر ويتطلب كلمة مروره. sudo مفضّل أمنياً لأن جميع الأوامر المنفّذة تُسجَّل.
يحتاج المستخدم إلى تسجيل الخروج وإعادة الدخول لتصبح تغييرات المجموعة سارية. في الجلسة الحالية، شغّل 'newgrp sudo' أو 'exec su -l $USER'. تحقق أيضاً من الإضافة بأمر 'groups'.
يتم توليد زوج مفاتيح عام/خاص. يُضاف المفتاح العام إلى ~/.ssh/authorized_keys على الخادم. عند الاتصال، يرسل الخادم تحدياً مشفراً بالمفتاح العام؛ يفكّه العميل بالمفتاح الخاص. لا حاجة لكلمة مرور، وهو أكثر أماناً.
'groups اسم_المستخدم' أو 'id اسم_المستخدم' يعرض جميع مجموعات المستخدم. 'getent group اسم_المجموعة' يسرد جميع المستخدمين في مجموعة محددة.
الحسابات النظامية للخدمات مثل Nginx أو MySQL لا تحتاج إلى وصول تفاعلي للصدفة. صدفة '/usr/sbin/nologin' تمنع تسجيل الدخول عبر SSH أو su بهذه الحسابات، مما يقلل سطح الهجوم.
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
دليل خطوة بخطوة للاتصال بـ Windows Server VDS عبر RDP: الإعداد الكامل، تفعيل NLA للأمان، إنشاء قاعدة تصفية Path Panel واستكشاف الأخطاء وإصلاحها.
تغيير نظام تشغيل خادم VDS عبر لوحة REXE: نصائح النسخ الاحتياطي قبل التثبيت، توزيعات Linux المدعومة وإصدارات Windows Server المتاحة للتثبيت الآن.