ديف أوبس

إدارة كلمات المرور في لينكس

إدارة كلمات المرور في نظام لينكس باستخدام أوامر passwd و adduser

تُعد إدارة كلمات المرور من أهم الجوانب الأمنية في أي نظام تشغيل، ونظام لينكس يُوفّر أدوات قوية ومرنة لإدارة حسابات المستخدمين وكلمات المرور الخاصة بهم. من بين هذه الأدوات، يأخذ الأمران passwd و adduser مكانة مركزية، حيث يُستخدمان لإنشاء حسابات المستخدمين وضبط كلمات المرور بشكل آمن وفعّال. يهدف هذا المقال إلى استعراض شامل ومفصل لكيفية استخدام هذين الأمرين، مع توضيح آليات عملهما وأفضل الممارسات المتعلقة بإدارة كلمات المرور في بيئة لينكس.


1. مقدمة حول إدارة المستخدمين وكلمات المرور في لينكس

يُبنى نظام لينكس على فلسفة إدارة المستخدمين بشكل دقيق لضمان الأمن وحماية البيانات. كل مستخدم في النظام مرتبط بحساب يحتوي على اسم مستخدم وكلمة مرور بالإضافة إلى صلاحيات وامتيازات محددة. لضمان سلامة النظام، يجب أن تُدار كلمات المرور بحرص لتقليل مخاطر الاختراق.

هناك ملفات نظامية رئيسية تُستخدم في تخزين معلومات الحسابات، منها:

  • /etc/passwd: يحتوي على بيانات المستخدمين الأساسية (اسم المستخدم، معرف المستخدم UID، معرف المجموعة GID، معلومات أخرى).

  • /etc/shadow: يحتوي على كلمات المرور المشفرة والمعلومات المتعلقة بانتهاء صلاحية كلمات المرور.

الأدوات passwd و adduser تتيح للمسؤولين التحكم الكامل في إنشاء وتعديل وإدارة هذه الحسابات.


2. الأمر passwd: الوظيفة والاستخدامات

2.1 التعريف

الأمر passwd هو الأداة الأساسية في لينكس لتغيير أو ضبط كلمة مرور مستخدم. يُستخدم من قبل المستخدمين لتغيير كلمات المرور الخاصة بهم، أو من قبل مدراء النظام لتعيين كلمات مرور للمستخدمين الآخرين.

2.2 آلية العمل

عند تنفيذ الأمر passwd، يطلب النظام إدخال كلمة المرور الجديدة، ويقوم بعدها بتخزينها في ملف /etc/shadow بصيغة مشفرة باستخدام خوارزمية قوية مثل SHA-512، ما يعزز من أمان البيانات.

2.3 الاستخدامات الأساسية

  • تغيير كلمة المرور للمستخدم الحالي:

    عند كتابة الأمر بدون معطيات:

    nginx
    passwd

    يطلب النظام كلمة المرور القديمة لتأكيد هوية المستخدم، ثم كلمة المرور الجديدة مرتين للتحقق.

  • تغيير كلمة المرور لمستخدم آخر (كمسؤول):

    بتنفيذ الأمر مع اسم المستخدم، كالتالي:

    nginx
    sudo passwd username

    يسمح لمسؤول النظام بتعيين أو إعادة تعيين كلمة مرور المستخدم المحدد دون الحاجة لمعرفة كلمة المرور القديمة.

2.4 خيارات مهمة للأمر passwd

  • -l : لقفل حساب المستخدم وتعطيل كلمة المرور (Lock the user account).

  • -u : لفتح الحساب بعد قفله (Unlock the user account).

  • -d : حذف كلمة المرور، ما يجعل الحساب بدون كلمة مرور (غير آمن غالبًا).

  • --expire : إجبار المستخدم على تغيير كلمة المرور عند أول تسجيل دخول بعد التعيين.


3. الأمر adduser: الوظيفة والاستخدامات

3.1 التعريف

الأمر adduser هو أداة تُستخدم لإنشاء حساب مستخدم جديد في النظام بشكل مبسط ومرن. يقوم هذا الأمر بإضافة المستخدم وإعداد المجلد الشخصي (Home Directory) وضبط الصلاحيات الافتراضية، إضافة إلى إمكانية تعيين كلمة المرور.

3.2 الفرق بين adduser و useradd

  • adduser هو سكريبت عالي المستوى يعتمد على useradd لكنه يقدم واجهة أكثر تفاعلية وسهولة في الاستخدام.

  • useradd هو أمر منخفض المستوى يُستخدم لإنشاء حساب مستخدم لكن يتطلب معرفة أكبر لتحديد الخيارات يدويًا.

3.3 استخدام الأمر adduser لإنشاء مستخدم جديد

عند كتابة:

nginx
sudo adduser username

يقوم النظام ببدء سلسلة من الأسئلة التفاعلية، منها:

  • تعيين كلمة المرور للمستخدم.

  • إدخال معلومات اختيارية مثل الاسم الكامل، رقم الهاتف، إلخ.

  • إنشاء مجلد المستخدم الشخصي وإعداد الصلاحيات.

3.4 خيارات مهمة في adduser

عادة، adduser لا يحتاج إلى خيارات كثيرة لأنه يقوم بالكثير من الإعدادات بشكل تلقائي، لكن يمكن تعديل بعض الخيارات عبر ملفات التهيئة مثل /etc/adduser.conf.


4. خطوات عملية لإدارة كلمات المرور باستخدام passwd و adduser

4.1 إنشاء مستخدم جديد وضبط كلمة المرور

  1. تنفيذ الأمر:

    nginx
    sudo adduser newuser
  2. إدخال كلمة المرور عند الطلب.

  3. إدخال المعلومات الإضافية (اختياري).

  4. يتم إنشاء مجلد المستخدم وتعيين صلاحياته تلقائيًا.

4.2 تغيير كلمة مرور مستخدم موجود

  • كمستخدم عادي:

    nginx
    passwd
  • كمسؤول لمستخدم آخر:

    nginx
    sudo passwd existinguser

4.3 قفل حساب مستخدم مؤقتًا

يمكن قفل حساب مستخدم لتعطيل تسجيل الدخول مؤقتًا:

nginx
sudo passwd -l username

ولفتح القفل:

nginx
sudo passwd -u username

4.4 إجبار المستخدم على تغيير كلمة المرور

لزيادة الأمان، يمكن إجبار المستخدم على تغيير كلمة المرور عند أول تسجيل دخول بعد إعادة التعيين:

css
sudo passwd --expire username

5. إدارة سياسات كلمات المرور في لينكس

إلى جانب استخدام passwd و adduser، يمكن للمسؤول التحكم في سياسات كلمات المرور عبر ملفات وإعدادات أخرى، منها:

  • ملف /etc/login.defs: يحتوي على إعدادات عامة لكلمات المرور مثل الحد الأدنى لطول كلمة المرور، مدة صلاحيتها، وفترة السماح بتغييرها.

  • أداة chage: تُستخدم لتعديل سياسات صلاحية كلمة المرور لمستخدم معين (مدة الصلاحية، تاريخ انتهاء الصلاحية، إلخ).

  • مكتبات PAM (Pluggable Authentication Modules): توفر نظام مرن للتحقق من كلمات المرور وفرض سياسات معقدة مثل تعقيد كلمة المرور.


6. نصائح أمان في إدارة كلمات المرور على لينكس

  • تعيين كلمات مرور قوية: استخدام تركيبات معقدة من الأحرف الكبيرة والصغيرة، الأرقام، والرموز.

  • تغيير كلمات المرور بشكل دوري: لتقليل خطر الاختراق.

  • قفل الحسابات عند عدم الحاجة: بدلاً من حذفها لضمان حفظ بيانات المستخدم في حالة الحاجة إليها لاحقًا.

  • استخدام أدوات مراقبة ومراجعة: لمتابعة محاولات الدخول الفاشلة والأنشطة المشبوهة.

  • الاحتفاظ بنسخ احتياطية: من ملفات النظام المتعلقة بالحسابات (/etc/passwd، /etc/shadow) لضمان استعادة سريعة في حالات الطوارئ.


7. مقارنة بين passwd و adduser من حيث الدور

الوظيفة الأمر passwd الأمر adduser
تغيير أو تعيين كلمة المرور أساسي ومباشر يتم خلال التهيئة الأولية فقط
إنشاء مستخدم جديد لا يقوم بذلك يقوم بإنشاء حساب المستخدم
إعداد المجلد الشخصي لا ينشئ المجلد الشخصي تلقائيًا
تعديل معلومات المستخدم لا يوفر إدخال معلومات اختيارية عند الإنشاء
قفل/فتح الحساب يدعم هذه الوظيفة (-l و -u) لا يدعم بشكل مباشر

8. أمثلة عملية

8.1 إنشاء مستخدم جديد مع كلمة مرور

nginx
sudo adduser ahmed

يُطلب إدخال كلمة المرور، ويُنشأ مجلد /home/ahmed تلقائيًا.

8.2 تغيير كلمة مرور المستخدم

nginx
sudo passwd ahmed

8.3 قفل حساب المستخدم أحمد

nginx
sudo passwd -l ahmed

8.4 فتح حساب المستخدم أحمد

nginx
sudo passwd -u ahmed

9. الخلاصة

إدارة كلمات المرور في لينكس هي من الركائز الأساسية لأمن النظام، والأمران passwd و adduser يشكلان الأدوات الأساسية التي يحتاجها أي مسؤول نظام لضبط حسابات المستخدمين بكفاءة. بينما يقوم adduser بإنشاء المستخدمين وإعداد بيئتهم بشكل متكامل، يأتي دور passwd لتغيير وضبط كلمات المرور وصلاحيات الوصول. استخدام هذين الأمرين بشكل صحيح، مع تبني سياسات أمان صارمة، يضمن بيئة تشغيل مستقرة وآمنة.


المصادر والمراجع

  1. Linux Manual Pages: صفحات الدليل الرسمية للأوامر passwd و adduser عبر الأمر man passwd و man adduser.

  2. Linux Documentation Project: دليل إدارة المستخدمين وكلمات المرور في لينكس، متاح على الرابط: https://tldp.org/HOWTO/User-Management-HOWTO/index.html