كل عام واخواني الكرام وجميع المسلمين إلي الله اقرب
اعاده الله علينا وعليكم بالخير والبركات
درسنا اليوم ان شاء الله سيكون عن Users & Groups في لينكس
قد يكون المعلومات قديمة لانها في الاصل من الاساسيات التي يجب معرفتها في نظام لينكس لديك كمدير نظم تشغيل .. والسبب الرئيسي لشرحها اليوم هو تصنيفها من الاساسيات التي قد لا يهتم بها البعض
هذه الاساسيات لا يمكنكك الاستغناء عنها عندما تواجهك مشكله كمدير نظام او فحص ثغرة او ايجاد حلول اذا كنت مهتم بالحماية
نبدأ بسم الله
مقدمة
يلزم وجود يوزر نيم خاص بك لامكانية الدخول علي السيستيم .. واليوزر نيم يكون له عضوية في جروب واحده او اكثر .. اعضاء الجروب الواحد لهم نفس صلاحية الدخول للمجلدات والملفات
معلومات اليوزر والجروب يتم تسجيلها في ملفات عديدة مثل /etc/passwd -- /etc/shadow -- /etc/group -- /etc/gshadow
انواع اليوزر في انظمة لينكس
root , normal , service
نأتي لتفصيل كل منها root
له كامل الصلاحيات علي نظامك فهو اليوزر الرئيسي او الجذر .. يمكن ان
تشير إليه بالمصطلح المشهور في الويندوز "Administrator"
normal
اليوزر العادي له صلاحيات اليوزر يمكنه تشغيل البرامج او التطبيقات المسموح له تشغيلها فقط ولا يمكنه عمل اي مهام خاصة بالروت او الاعمال الادارية للنظام كاملا
services
هذه الحسابات مسئولة عن التحكم البرامج والخدمات والتطبيقات الموجوده علي النظام هذه الحسابات تشمل كمثال " Apache , Mail , Printing , Squid “
تخزين المعلومات
معلومات اليوزر يتم تخزينها في 4 ملفات /etc/passwd -- /etc/shadow --etc/group --etc/gshadowهذه الملفات يتم تحديثها عند اضافة او تعديل او حذف يوزر جديد
نفس الملفات يتم استدعاءها عند محاولة الدخول للنظام عن طريق يوزر معين للتأكد من صلاحيته للدخول
نأتي لشرح تفصيلي عن كل ملف وفائدته
التحقق من الدخول عن طريق الملف /etc/passwd
هذا الملف يحتوي علي معلومات اليوزر كل سطر فيه يحتوي علي معلومات تخص اليوزر
يحتوي كل سطر علي 7 حقول او اجزاء
كل جزء منهم مفصول بـ colon ( : )
مثال من داخل الملف :
نقسمها إلي اجزاء
1 - الجزء الاول في الملف
وهو يحتوي علي اليوزر نيم الذي يتم تسجيل الدخول به للسيستيم يمكن كتابة اليوزر نيم حتي 255 حرف
وهنا كمثال اليوزر : romio
2 - الجزء الثاني في الملف وهو يحتوي علي
ال x تسمي بالـ password PlaceHolder والتي تشير إلي الملف /etc/shadow
والذي يحتوي علي الباسوورد "المشفر" لليوزر
3 : الجزء الثالث ويعرف بإسم UID اختصار لـ User ID
هذا الجزء يحمل الرقم الخاص بكل يوزر ويمكنه انه ينشيئ رقم مختلف لكل يوزر ما بين 1 إلي 2 بليون .. منها الرقم 0 محجوز للروت
والارقام ما بين 1 : 499 محجوزة لحسابات النظام وبرامجه
لذلك يبدأ اعطاء الرقم دائما لليوزر الجدد من 500
مثال : الـ UID لليوزر romio هو 1000
4 - الجزء الرابع ويعرف بإسم GID اختصار لـ Group ID
وهي تكون نفس ال ID الخاص باليوزر " اي انه يتم انشاء ال ID لكلا من اليوزر والجروب بنفس الرقم "
الجروب الموجوده في هذا الملف تمثل الجروب الرئيسية التي ينتمي إليها اليوزر
مثال : الـ GID لليوزر romio هو 1000
5 - الجزء الخامس يشير إلي الكومنت او التعليق الذي يمكن اضافته لليوزر ( اضافة رقم جواله - عنوانه - ايميله ... إلخ )
مثال انا كتبت I'm Ramy Allam
6 - الجزء السادس يشير إلي المسار المحدد للـ user home directory
اليوزر هوم دايركتري هو المكان الذي يتم تحويل اليوزر عليه بعد عمليه اليوزر مباشرة والذي يكون فيه ملفات اليوزر الخاصة به
والمسار الرئيسي هو /home
مثال : اضفنا يوزر بإسم romio
فيكون ال user home directory له هو /home/romio
كذلك يوزر ahmed >> /home/ahmed
... إلخ
7 - الجزء السابع والاخير يحتوي علي مسار الشيل لليوزر الذي يستخدمه اثناء تسجيل الدخول
الشيل الرئيسي والافتراضي الذي يتم انشاءه هو /bin/bash
يمكن ان يتم تعديله لاي باش اخر مثال : Korn or c
ملحوظة : التصريح الخاص بالملف /etc/passwd هو 644 وهذا الملف يجب ان يكون ملك للروت
التحقق من الدخول عن طريق الملف /etc/group
هذا الملف يحتوي علي معلومات الجروب .. كل سطر في الملف يحتوي علي جروب مختلف ومعلومات عنه وكل يوزر علي الاقل يجب ان يكون عضو في جروب واحدة كما تم الاشارة لذلك في الاعلي .. وكما ان ال UID هو نفسه ال GID الذي يتم انشاءه افتراضيا فالإسم ايضا كذلك مشابة اي ان "افتراضيا اليوزر نيم هو نفسه اسم الجروب "
كل سطر في الملف يحتوي علي 4 اجزاء يفصل بين كل جزء ( : )
مثال :
1 - الجزء الاول يحتوي علي اسم الجروب والذي يجيب ان يبدأ بحرف "وهو افتراضي نفس اسم اليوزر "
يمكن ان يتم انشاء اسم الجروب حتي 255 حرف
2 - الجزء الثاني
الـ x تشير للملف /etc/gshadow والتي تحتوي علي الباسوورد للجروب "إذا تم اضافة باسوورد للجروب"
3 - الجزء الثالث هو الـ GID تم شرحه مسبقا في الملف السابق وهو يحتوي علي نفس الـ ID الموجود في الملف السابق /etc/passwd
4 - الجزء الرابع والاخير يحتوي علي اليوزر الذين لهم عضوية في هذه الجروب
مثال هنا : اليوزر romio عضو في الجروب lpadmin
يمكن اضافة يوزر لجروب اخري ويمكن ان يتم اضافة اكثر من يوزر لنفس الجروب بشكل آخر يمكن لليوزر ان يكون عضوا في اكثر من جروب
ملحوظة : تصريح /etc/group يجب ان يكون 644 وملك لليوزر root التحقق من الدخول عن طريق الملف /etc/shadow
كمزيد من الحماية في انظمة لينكس فالباسوورد ليس مشفر ومغير مسار الملف الذي يحتوي علي الباسوورد فقط .. بل يوجد خصائص اخري مثال ( انتهاء الصلاحية للباسوورد - مدة التحذير ... إلخ ) يمكن ان يتم تنفيذها علي اليوزر وتحديدها والتي تسمي بـ "Password aging"
عند تسجيل عملية دخول لليوزر يتم اولا قراءة ملف passwd وبعدها قراءة ملف shadow للتأكد من صلاحية الدخول
ملف الشادو يحتوي علي معلومات موسعة لعملية تسجيل الدخول .. كل سطر في الملف يشير إلي معلومات اخري في الملف passwd
يحتوي ملف الشادو علي 9 اجزاء .. كل جزء منفصل عن الاخر ب ( : )
مثال :
1 - الجزء الاول يحتوي علي اليوزر النيم الذي يتم استخدامه في تسجيل الدخول
مثال هنا romio
2 - الجزء الثاني خليط من الرموز والارقام والحروب وهو باسوورد اليوزر لكنه مشفر
3 - الجزء الثالث وهو عدد الايام مرت علي اخر تغيير للباسوورد منذ الـ (epoch time ) روابط قد تفيدك عنه http://en.wikipedia.org/wiki/Unix_time http://www.epochconverter.com/
4 - الجزء الرابع يشير إلي الحد الادني من الايام والذي لا يمكن ان يتم تغيير الباسورد فيه قبل ان تنتهتي مدتها ويمكن ان يتم تفعيل هذه الخاصية عن طريق chage -m او passwd -m
5 - الجزء الخامس يشير لاقصي عدد من الايام لصلاحية الباسوورد قبل ان يتم اعطاء اليوزر تحذير بضرورة تغيير الباسوورد ويمكن ان يتم تفعيل هذه الخاصية عن طريق chage -M او passwd -x
6 - الجزء السادس يشير لعدد الايام التي سيظهر لليوزر فيها علي تحذير بضرورة تغيير الباسوورد يمكن ان يتم تفعيل هذه الخاصية عن طريق chage -W او passwd
7 - الجزء السابع يشير إلي اقصي عدد من الايام يمكن ان الا يتم عدم استخدام اليوزر فيه لكي يكون غير قابل للاستخدام فيما بعد "كمثال : إذا لم يتم تسجيل دخول لليوزر لمدة شهر يتم ايقاف حسابة " يمكن ان يتم تحديدها من الامر chage -I او passwd -i
8 - الجزء الثامن يشير لعدد الايام التي يتم تشغيل اليوزر فيها وبعد انتهاءها يتم ايقاف اليوزر "Expired" .. "مثال اليوزر romio له صلاحية الدخول للنظام لمدة 60 يوم فقط " يمكن عملها عن طريق الامر chage -E
9 - الجزء التاسع محجوز لاستخدماات مستقبلية
التحقق من الدخول عن طريق الملف /etc/gshadow لحماية اكبر في انظمة لينكس لجزء الجروب يتم تشفير الباسوورد وتغيير المسار الموجود فيه الباسوورد ( نفس الامر في /etc/shadow - /etc/passwd )
هذا الملف يحتوي علي الباسوورد المشفر لكل جروب وكل سطر فيه يحتوي علي معلومات لجروب مختلفه .. يحتوي كل سطر في الملف علي 4 اجزاء كل جزء مفصول عن الاخر بـ ( : )
( نفس فكرة ال shadow التي يوجد فيها باسوورد اليوزر المشفر )
مثال :
1 - الجزء الاول : يحتوي علي اسم الجروب وهي نفسها التي تظهر في الملف /etc/group
2 - الجزء الثاني يحتوي علي خليط من الارقام والرموز "الباسوورد المشفر " هذا في حالة كان بالفعل يوجد باسوورد علي الجروب ويمكن تعيين باسوورد علي الجروب عن طريق الامر gpasswd
إذا كان في الجزء الثاني علامة ! فهذا يعني انه غير مسموح لاي يوزر ان يكون عضو بهذه الجروب عن طريق استخدامه للامر newgrp
وإذا كان هناك علامة !! فهي تشير إلي انه لا يوجد باسوورد علي الجروب ولا يوجد صلاحية لاي يوزر اخر بان يكون عضوا في الجروب
3 - الجزء الثالث يوضح اليوزر الادمسنتراتور الموجودين في الجروب " ادمين الجروب " الذين لهم صلاحية لتعديل او حذف او اضافة اعضاء لنفس الجروب عن طريق الامر gpasswd
4 - الجزء الرابع والاخير يوضح اليوزر الذين لهم عضوية في نفس الجروب ملحوظة : ملف /etc/gshadow تصريحه 400 وملك لليوزر root
التأكد من صحة المعلومات في ملفات التحقق من الدخول
احيانا تواجه مشكله في بعض هذه الملفات السابقة وتريد ان تتاكد من المعلومات الموجوده داخل هذه الملفات وصحتها وانه لا يوجد اخطاء بها
يتم ذلك عن طريق الامر pwck
فهو يتحقق من الارقام واليوزر نيم وال uidو gid في كل سطر كذلك يتاكد ايضا من ال user home directory , shell ويخبرك بوجود اي اخطاء او مشاكل
فقط يقوم بفحص الملف /etc/passwd و /etc/shadow
مثال :
root@romio-desktop:/home/romio# pwck
user romio: directory /home/romio does not exist
ماذا اذا ترغب بالتحقق من المعلومات في ملف group - gshadow .?
يمكن عمل ذلك عن طريق الامر grpck
وسيقوم بالتحقق من كامل المعلومات والبيانات مقارنة بملفات /etc/passwd و /etc/shadow ويخبرك بوجود اي مشاكل او اخطاء او معلومات ناقصة
تم الانتهاء بفضل الله
العمل خالص لوجه الله تعالي
الدرس القادم ان شاء الله سيكون عن التحكم باليوزر والجروب وشرح كافة الاوامر التي تم كتابتها في الموضوع هنا والاوامر الاخري التي تستخدم في التحكم في اليوزر والجروب تم الاستعانة في الشرح بمصادر من : RHCT - RHCE
كتابة الفقير الي الله : رامي علام
يسمح بالنقل مع الاشارة لكاتب الموضوع
آخر تعديل بواسطة Ramy Allam ، 11-08-2010 الساعة 03:53 PM.