انتقل إلى المحتوى الرئيسي

المختبر 5.1 - إدارة المستخدمين

الأهداف​

في نهاية هذا المختبر، ستكون قادرًا على:

  • إنشاء مستخدمين باستخدام useradd
  • تعديل مستخدمين باستخدام usermod
  • حذف مستخدمين باستخدام userdel
  • إدارة كلمات المرور
  • فهم ملفات النظام (/etc/passwd, /etc/shadow)

المتطلبات الأساسية​

  • تثبيت أوبونتو 24.04
  • وصول sudo/root
  • فتح الطرفية

التمرين 1: إنشاء المستخدمين​

الخطوة 1: useradd الأساسي​

# إنشاء مستخدم بسيط
sudo useradd testuser1

# التحقق
id testuser1
cat /etc/passwd | grep testuser1

الخطوة 2: useradd مع الخيارات​

# إنشاء مع دليل home
sudo useradd -m testuser2

# إنشاء مع shell محدد
sudo useradd -m -s /bin/bash testuser3

# إنشاء مع مجموعة أساسية
sudo useradd -m -g users testuser4

# إنشاء مع UID محدد
sudo useradd -m -u 1500 testuser5

الخطوة 3: إنشاء باستخدام adduser (أوبونتو)​

# adduser أكثر تفاعلية (موصى به على أوبونتو)
sudo adduser testuser6

# اتبع المطالبات:
# - كلمة المرور
# - المعلومات (اختياري)

التمرين 2: تعديل المستخدمين​

الخطوة 1: usermod الأساسي​

# تغيير الـ shell
sudo usermod -s /bin/zsh testuser1

# التحقق
grep testuser1 /etc/passwd

الخطوة 2: تعديل دليل Home​

# تغيير دليل home
sudo usermod -d /home/nouveau-home testuser1

# نقل المحتوى
sudo usermod -m -d /home/nouveau-home testuser1

الخطوة 3: الإضافة إلى المجموعات​

# الإضافة إلى مجموعة ثانوية
sudo usermod -aG sudo testuser1

# التحقق
groups testuser1
id testuser1

الخطوة 4: قفل/فتح​

# قفل حساب
sudo usermod -L testuser1

# التحقق
sudo passwd -S testuser1

# فتح
sudo usermod -U testuser1

التمرين 3: كلمات المرور​

الخطوة 1: تعيين كلمة مرور​

# تعيين كلمة المرور
sudo passwd testuser1

# تعيين بدون مطالبة
echo "testuser1:motdepasse" | sudo chpasswd

الخطوة 2: انتهاء صلاحية كلمة المرور​

# فرض التغيير عند تسجيل الدخول التالي
sudo passwd -e testuser1

# تعيين انتهاء الصلاحية
sudo chage -M 90 testuser1 # تنتهي في 90 يومًا

# عرض المعلومات
sudo chage -l testuser1

الخطوة 3: سياسة كلمات المرور​

# عرض التكوين
cat /etc/pam.d/common-password

# تثبيت libpam-pwquality لسياسة صارمة
sudo apt install libpam-pwquality

# التكوين: /etc/security/pwquality.conf

التمرين 4: ملفات النظام​

الخطوة 1: /etc/passwd​

# عرض الملف
cat /etc/passwd

# التنسيق: username:x:UID:GID:comment:home:shell
# مثال: testuser1:x:1001:1001::/home/testuser1:/bin/bash

# التحليل
awk -F: '{print $1, $3, $7}' /etc/passwd

الخطوة 2: /etc/shadow​

# عرض (يتطلب sudo)
sudo cat /etc/shadow

# التنسيق: username:password_hash:last_change:min:max:warn:inactive:expire

# عرض معلومات مستخدم
sudo grep testuser1 /etc/shadow

الخطوة 3: /etc/group​

# عرض المجموعات
cat /etc/group

# التنسيق: groupname:x:GID:members

# عرض مجموعات مستخدم
groups testuser1
id testuser1

التمرين 5: حذف المستخدمين​

الخطوة 1: userdel الأساسي​

# حذف مستخدم (يحتفظ بالـ home)
sudo userdel testuser1

# التحقق
id testuser1 # يجب ألا يكون موجودًا
ls -la /home/ # الـ Home لا يزال موجودًا

الخطوة 2: حذف مع Home​

# حذف مستخدم وhome
sudo userdel -r testuser2

# التحقق
ls -la /home/ # الـ Home محذوف

الخطوة 3: حذف باستخدام deluser (أوبونتو)​

# deluser أكثر أمانًا (أوبونتو)
sudo deluser testuser3

# حذف مع home
sudo deluser --remove-home testuser4

التمرين 6: ممارسة كاملة​

الخطوة 1: إنشاء مستخدم مطور​

# إنشاء مع جميع الخيارات
sudo useradd -m -s /bin/bash -G sudo,developers -c "Développeur" devuser

# تعيين كلمة مرور
sudo passwd devuser

# التحقق
id devuser
groups devuser

الخطوة 2: سكريبت الإنشاء​

# سكريبت لإنشاء مستخدم
cat > create-user.sh << 'EOF'
#!/bin/bash
USERNAME=$1
FULLNAME=$2
GROUPS=$3

if [ -z "$USERNAME" ]; then
echo "Usage: $0 username [fullname] [groups]"
exit 1
fi

# إنشاء مستخدم
sudo useradd -m -s /bin/bash -c "$FULLNAME" "$USERNAME"

# إضافة إلى المجموعات إذا تم تحديدها
if [ -n "$GROUPS" ]; then
sudo usermod -aG "$GROUPS" "$USERNAME"
fi

# تعيين كلمة مرور
sudo passwd "$USERNAME"

echo "Utilisateur $USERNAME créé"
id "$USERNAME"
EOF

chmod +x create-user.sh

# استخدام
./create-user.sh "newuser" "Nouvel Utilisateur" "sudo,users"

التحقق​

قائمة التحقق​

تحقق من أنك تستطيع:

  • إنشاء مستخدمين (useradd, adduser)
  • تعديل مستخدمين (usermod)
  • إدارة كلمات المرور (passwd, chage)
  • فهم /etc/passwd و /etc/shadow
  • حذف مستخدمين (userdel, deluser)
  • إدارة مجموعات المستخدمين

أسئلة للتفكير​

  1. ما الفرق بين useradd و adduser؟

    • useradd: مستوى منخفض، أقل تفاعلية
    • adduser: مستوى عالي، أكثر سهولة (أوبونتو)
  2. لماذا /etc/shadow منفصل عن /etc/passwd؟

    • الأمان: /etc/passwd يمكن قراءته من قبل الجميع
    • /etc/shadow محمي (كلمات المرور مشفرة)
  3. متى تستخدم userdel -r؟

    • عندما تريد حذف المستخدم بالكامل
    • انتبه: يحذف أيضًا دليل home

الخطوات التالية​

  • المختبر 5.2: إدارة المجموعات
  • المختبر 5.3: الأذونات المتقدمة
  • الفصل 5.1: إدارة المستخدمين

تم إنشاء المختبر في: ديسمبر 2024 - تم اختباره على أوبونتو 24.04