![]() |
ادخل عالم التصاريح داخل مملكة لينوكس شرح التصاريح للملفات والمسارات داخل سيرفرك
بسم الله الرحمن الرحيم
اليوم نقدم شرح خاص بالتصاريح داخل عالم لينوكس وايضا جزء بسيط من برمجة الشل اسكربت كمقدمة بسيطة والمنهج المشروح منه هوا منهج rhce اتمنى ربنا يوفقنى فى الشرح ويوفق القارىء فى الفهم الشرح من عملى الخاص وملاحظاتى الخاصة :) من كورس rhce ومن استاذى الفاضل مهندس مصطفى Users, Groups and Permissions لابد من فهم شىء مهم جدا قبل البدء : مين هوا اليوزر ؟؟؟ مين الجروب ؟؟؟ مين OTHERS اللى بنتكلم عليهم ؟؟؟ وايه علاقه الروت بالكلام دا كله ؟؟؟؟ قبل أى شىء يجب على الدارس أن لا يخلط بين تصاريح الروت ومجال صلاحياته ومجال صلاحيات اليوزر فاليوزر هو مستخدم بسيط للنظام قد يكون فى أى شركة عبارة عن دعم فنى او عن موظف حسابات يدخل الى النظام لمجرد اضافات معلومات على ملف واحد فقط فى النظام ولذلك ليس له اى صلاحيه غير هذا ولا يجب ان تزيد صلاحياته عن هذا ولكن الروت هوا الكبير الكل فى الكل يعنى صاحب المنشأة اللى إشترى الكمبيوتر والسيستم من الاخر ( راجل بيحلم والنظام بيحقق له احلامه ) يعنى مش من حقك تخلط بين اليوزر والروت .. طيب هل يمكن يكون فى السيستم يوزر يكون ليه صلاحيات الروت انى أعطى له صلاحية الروت وكل شىء متعلق بيه ؟؟؟ أينعم ومين هما ال GROUPS ؟؟؟ الجروب ببساطة هما مجموعة من المستخدمين داخل النظام فلنتخيل النظام اللينوكس عبارة عن سيرفر فى شركة كبيرة يخدم الشركة ككل فكل موظف يدخل من جهازه الى السيرفر ويقوم بالتعديل فى ملف واحد وليكن المنشأة التى يعمل بيها الموظفين بنك مثلا ففى البنك العديد والعديد من الموظفين مثلا موظفى قسم الحسابات وموظفين الايداع للنقديه وموظفين اخرين لخدمة العملاء عبر الهاتف فلو كنت أنت صاحب المنشأة هل ستعطى لهم كافة الصلاحيات ؟؟؟؟ بالطبع لا فكل ما ستفعله هوا مجرد أنك ستحدد موظفى الدعم الفنى عبر الهاتف والرد على استفسارات العملاء ستعطى لهم صلاحيات مشاهدة بيانات العملاء دون التعديل فيها ( READ) بدون ان يقوموا باضافة او تعديل او تنفيذ أى عمليه تحويل نقدية داخل البنك وهكذا كل قسم يكون له صلاحيات معينه على حسب وظيفته من هم OTHERS أو الاخرين ؟؟؟ الأخرين فى مثالنا السابق هم المترددين على البنك يوميا او بالنسبة لخادم المواقع على الانترنت فهم زوار الموقع فهل تتخيل أنك لو كنت صاحب البنك هل ستعطى لهم تصريحا بالتعديل والكتابه فى ملفات البنك وتنفيذ عمليات نقدية بدون أى حساب او نقاش ؟؟؟ بالطبع لا سيكون كل ما تريده لهءلاء العملاء هوا القراءة فقط والتعامل فقط وليس التعديل فى ملفات البنك الخاصة او فى عملياته النقدية المعقدة وما هى التصاريح ( Read -Write -Excute ) التصاريح ظاهرة وواضحة من مجرد أسمائها التصريح الأول read : هو تصريح القراءة فقط للملف بمعنى انك تستطيع قراءة الملف دون التعديل فيه أو الوصول للبيانات دون إتلافيها أو تنفيذ البيانات ( إذا كانت أوامر شل مثلا او ملفات تنفيذية فى النظام Excutable Files ) التصريح الثانى (write ) : هوا تصريح الكتابه داخل الملف والإضافة إلى سطوره البرمجية والتعديل فيها بما يناسبك ويناسب احتياجاتك التصريح الثالت ( Excute ) : هوا تصريح تنفيذ الملف بمعنى اخر هوا تشغيل الملف وتنفيذ الأوامر البرمحية الحالية التى به مثل تركيب أحد البرامج وتنصيبها . إلى هنا وقمنا بتحديد أهم من يقومون بالتعامل مع النظام من المستخدمين وأيضا ما هى التصاريح ومعناها ولكن بالنسبة لبيئة العمل داخل لينكس ماهى الطريقة الصحيحة لتعديل التصاريح والتعامل مع الملفات والمستخدمين والجروب؟؟؟؟ الأمر سهل وبسيط : دعونا ننشىء أولا بيئة العمل التى سنقوم بتنفيذ الأوامر فيها إدخل الى نظاما لتشغيل الخاص بك CentOS وقم بفتح الشل ( Terminal ) وقم بتنفذ الأوامر الثالية : أولا قم بإضافة مستخدم جديد للنظام وليكن b7lmbeek كود PHP:
كود PHP:
من أين أتى كل هؤلاء المستخدمين ؟؟؟(حد بيفتح جهازى وانا مش هنا يارجاله ) الاجابة بسيطة أن نظام التشغيل لينوكس يعتبر الخدمات services هى عبارة عن مستخدمين وكل مستخدم له صلاحياته فى النظام وذلك لتسهيل العمل داخل النظام ومن خلال بحثك داخل الملف ستجد المستخدم الجديد b7lmbeek فى النهاية وبجانبه سطر كبير من الكلام كالتالى : كود PHP:
اول شىء بالسطر هوا اسم المستخدم وهوا طبعا b7lmbeek الجزء الثانى علامة × هى عبارة عن مكان الباسورد الخاص بالمستخدم الذى يتوجه اليه السيستم للتأكد منه عند تسجيل دخوله للنظام الجزء الثالث هوا ال UID او user id او رقم اليوزر فكل يوزر جديد فى النظام يقوم النظام باعطاؤه رقم خاص به يتم التعامل به داخل النظام وهذا الرقم يكون بعد الرقم 500 بمعنى ان اول يوزر يكون رقمه 501 وهكذا الجزء الرابع هوا رقم الجروب ويكون العد فيه يبدأ من 500 الجزء الخامس هوا ال actual name الخاص باليوزر الاسم الحالى لليوزر الجزء السادس هوا مسار الملفات الخاصة به داخل النظام او ملفات الهوم الخاصة به ويكون هذا المسار متفرعا من المسار home الجزء السابع هوا نوع ملفات الشل الذى يستخدمها هذا المستخدم ومسارها فكما ذكر من قبل الشل انواعه كثيرة وماذا بالنسبة للباسورد واين يتم حفظها ؟؟؟ وهنا يمكنك التوجة للملف التالى وتحريره بمحرر النصوص داخل الشل كالتالى كود PHP:
ستجد اسم اليوزر الجديد وهوا السيد المحترم b7lmbeek وستجد بجوار اسمه الباسورد ولكن يالها من خسارة فهى فى حالة تشفير من نوع MD5 وما هى البيانات بجوارها ؟؟؟ هى بيانات عن كلمة السر ومتى تنتهى وهل سيتم انذار اليوزر قبل انتهاء كلمة السر ومتى موعد التنبيه وحتى متى تكون ساريه كود PHP:
وهنا يمكنك التوجة للملف التالى وتحريره بمحرر النصوص داخل الشل كالتالى كود PHP:
كود PHP:
الى هنا تم التعرف على الجروب واليوزر داخل اللينوكس فقد قمنا بانشاء يوزر اسمه b7lmbeek داخل النظام وتأكدنا من وجوده وقمنا بانشاء باسورد خاصه به بل وأيضا قمنا بمعرفة كل شىء عنه ومسار ملفاته نقوم الان بالتجهيز لبيئة العمل بشكل مفصل كود PHP:
الدخول الى المسار روت فى الخطوة الاولى الخطوة الثانية إنشاء فولدر أو مسار واسمه test الخطوة الثالثة الدخول الى المسار test الى هنا قمنا بانشاء المسار الذى سنضع به الملفات وسنجرب به كل شىء ثم سنقوم بانشاء أكثر من ملف يحملون نفس الاسم ولكن بالترقيم كالتالى كود PHP:
ملحوظة لاحظ الفرق بين الأمرين التاليين : كود PHP:
كود PHP:
هل لاحظت الفرق جيدا انه المسافة بين كلمة test فى الامر الاول وبين الأقواس ولذلك خد بالك كويس اللينكس فاهم هوا بيعمل ايه مش زى حاجة تانية واللى بالى بالك ----- نكمل حديثنا وشرحنا الى هنا أصبح لدينا عشرة ملفات هى بعد طباعة الامر التالى داخل المسار test : كود PHP:
#ls -l دعنا نلقى نظرة عن الناتج لكل ملف سيكون كالتالى : كود PHP:
معنى السطر كالتالى أول عشرة حروف هى خاصة بالتالى كود PHP:
الحروف الباقية تقسيمتها سهلة وبسيطة بالعد سترى انهم تسعه أحرف الحروف الثلاثة الأولى هى لليوزر (owner )وهوا مالك الملف الحالى وهى التصاريح الخاصة به فهوا يستطيع كما بالشكل ان r= read و w= write ولا يستطيع التنفيذ او x =excute الحروف الثلاثة التانية هى خاصة بالمجموعة التى ينتمى لها هذا اليوزر او بقيه اعضاء الجروب وهنا نجد أنهم يستطيعون قراءة الملف فقط ومكان بقيت التصاريح مختفى اى انهم ليس لهم صلاحية التنفيذ او الكتابه فى الملف الحروف الثلاثة الأخيرة هى لل others الاخرين فهم ايضا لا يستطيعوا سوى قراءة الملف فقط وماذا عن بقيت السطر ؟؟؟؟ بقيت السطر يصف أولا من هوا اليوزر الحالى للملف ؟؟؟ root المستخدم ومن هوا الجروب الحالى للملف هوا الجروب root ومتى اخر تعديل للملف ؟؟؟ التاريخ وما هوا اسم الملف الذى نتحدث عنه بهكذا إتضحت الرؤية بشكل تام لمعنى ناتج الأمر كود PHP:
نبدأ أولا بتغيير مالك الملف ليصبح شخص اخر بحيث شخص اخر يمكنه التعامل مع الملف بالشكل الذى نريده نقوم بتنفيذ الامر التالى : كود PHP:
ان الامر اسمه يدل عليه وهوا change ownership الامر يقوم على التالى اولا اسم الامر كما يلى chmod ثم اسم المالك الجديد للملف b7lmbeek ( عقبال الحبايب كدا يارب ) ثم اسم الملف الذى سنقوم بتغيير المالك الخاص به الى المالك الجديد الامر سهل ولكن يحتاج الى بعض التركيز فى نظام التشغيل لينوكس لازم تبقى عارف انته جاى منين ورايح فين لان مفيش refresh فى الكليك يمين زى ويندوز يعنى ببساطة تبقى عارف المالك الجديد واسم الملف وعارف الامر ويكون ناتج الامر كالتالى : كود PHP:
نرجو التركيز بليز اللى حصل فى الامر انى غيرت مجرد اليوزر الخاص بيه اللى بيتحكم فيه نلاقى سؤال بيقول طيب وهاو كدا الروت راحت عليه ؟؟؟ طبعا لاء الروت فوق الكل ويقدر يغير اى حاجة يعنى الروت خصص الملف دا لليوزر دا بس بعيد عن اى يوزر تانى داخل السيستم طيب هوا b7lmbeek انضم الى الجروب root ؟؟؟ لاء ولكن كل اللى حصل ان الملف اتغير المستخدم وفى نفس الوقت ظل اعضاء الجروب root يقدروا يتحكموا فيه وليهم صلاحيات كالتالى r--يعنى قراءة فقط أرجو من الجميع اخراج المستخدم روت خارج اللعبة فهوا الكل فى الكل هنا وميصحش نغلط فيه ولكن ؟؟؟ ماذا لو اردنا تغيير المجموعة أيضا ؟؟؟؟ نقوم بعمل التالى : كود PHP:
كود PHP:
يطلع سؤال ... هوا كدا الروت ملوش تحكم ؟؟؟ طبعا لاء الروت ليه تحكم والجروب بتاعته ليها تحكم وكل حاجة ولكن فلنفرض انى بغير الجروب من الجروب كريم الى جروب الاخ الفاضل b7lmbeek اذن جروب كريم كدا مع السلامة ويستلم جروب b7lmbeek الرايه ويتصرفوا على حسب ما الروت يقولهم ويتحكم فيهم ولكن ؟؟ هل كل اما احب اغير الاونر للملف والجروب هكتب الامرين دول هنقول فى طريقتين للموضوع : الطريقة الاولى انك تكتب الامرين وبينهم علامة ; وهيتنفذوا كالتالى كود PHP:
كود PHP:
انى عن طريق الامر البسيط chown اقدر اغير الجروب واليوزر او الاونر فى نفس الوقت ( اليوزر هوا الاونر منعا لللخبطة فى الكلام ) بس بشرط انك تفصل بينهم كدا بالنفطتين دول : طيب يطلع سؤال بيقول ....؟ هل لو انا عايز اغير المالك او الجروب للمسار بكل الملفات اللى تحته أعمل ايه ؟؟؟ هتخرج برا اولا على المسار من برا كود PHP:
كود PHP:
شىء جميل لازم تجربوا يا جماعة كتير فى الموضوع عشان يتفهم كويس جدا لانه مش سهل بل كما قال أستاذنا الباشمهندس مصطفى هوا الأساس فى اللينوكس وهوا اللى هيعرفك كل شىء نكمل كلامنا : لحد دلوقتى احنا عرفنا ايه ؟؟؟ ما هوا اليوزر و الجروب والاخرين ؟ ما هوا التصريح read , write , excute ؟ ماهوا الطريقة لتغيير مالك الملف ؟ ما هى الطريقة لتغيير مالك الملف والمجموعة مرة واحدة ؟ ما هى الطريقة لتغيير مالك الملف والمجموعة للمسار والملفات التى توجد به مرة واحدة ؟؟ اذا مقدرتش ترد على اى سؤال منهم لازم ترجع تقرا الموضوع من الاول وتشاهد الفيديو كويس اوى ومن تانى معلش دى القواعد نكمل كلامنا : انا عايز اغير التصريح نفسه أعمل ايه ؟؟؟؟ يعنى ايه اغير التصريح نفسه ؟؟؟ يمعنى أصح هوا أن أعطى بعض السماحيات للليوزر او للجروب كله او للزوار مثل القراءة او الكتابه على الملف او التنفيذ يعنى read & write & Excute اولا هناك طريقتين للتغير والطريقتين فعالتين وسهلتين جدا واذا فهمت احدهم لن تحتاج لمراجعتها ابدا لبقية حياتك الطريقة الاولى : sympolic يتم تغيير التصاريح عن طريق الاحرف بمعنى ان لكل تصريح مثل القراءة والكتابه حرف يدل عليه كالتالى كود PHP:
كالتالى شاهدوا الامر التالى وركز فى الناتج وشاهد ماذا سنفعل ؟؟ كود PHP:
(-)الحرف الأول فارغ وهوا معناه ان هذا ملف عادى وليس مسارا ولو كان مسار كان سيظهر حرف d ومن هنا نبدأ بتقسيم التسعة أحرف الباقية الى ثلاث مجموعات كل مجموعة تتكون من ثلاثة حروف كالتالى كود PHP:
الاحرف الثلاثة الثانية تخص الجروب الاحرف الثلاثة الاخيرة تخص عامة الشعب الزوار على النظام والعلامة المائلة بينهم من عندى لسهولة التقسيم فى المثال الموضح تصاريح الملف لليوزر المستخدم الغلبان هى القراءة والكتابه فى الملف فقط فلا يحق له تنفيذ الملف بينما من تصاريح الجروب هوا القراءة فقط وبقيت الخانات فارغه بمعنى ليس له حق فى شىء غير القراءة وكذلك الزوار على النظام كيف يمكننى تغيير الصلاحيات واضافة الصلاحية وحذفها ؟؟؟ عليك اولا ان تعلم أمر تغيير الصلاحية كالتالى : كود PHP:
هوا اننى طلبت من النظام اولا بالتوجه للملف وهوا test4 وطلبت منه ان يقوم باعطاء او اضافة تصريح لليوزر user u بالتنفيذ داخل الملف خد بالك انا مقلتلوش اليوزر مين دا اولا وكمان مذكرتش بقيت التصاريح زى الجروب والزوار كل اللى ذكرته هوا انى عايز اضيف لليوزر للملف دا ايأ كان وطبعا أشرت لليوزر بالحرف الإنجليزى u وهنااعطيت اليوزر صلاحية التنفيذ فقط على الملف هذا فقط واشرت لها بالرمز x عايز تتأكد من كلامى توجه الى الشل واكتب الامر التالى : #ls -l واتفرج هتلاقى ان صلايحة التنفيذ اتضافت للملف كالتالى : كود PHP:
مختلفناش هتروح برده للشل وتكت مكان حرف ال u حرف اخر رمز الجروب وهوا g اكيد طبعا الكل توقع ان الزوار هياخدوا الحرف o وبالتالى انا ممكن اشيف للزوار والجروب صلاحية مرة واحدة بالامر : كود PHP:
كود PHP:
كود PHP:
الطريقة الثانية : هى عن طريق الأرقام مفيش لخبطة ولا حاجة بس ركز وهتلاقيها اسهل الف مرة من الطريقة السابقة (قلنا الصعبه الأول عشان الناس تبقى فاهمة كل حاجة ) هنا يتم فرض ان لكل تصريح رقم يعبر عنه كالتالى كود PHP:
ولو عايز حد ياخد تصريح الكتابه على الملف هقوله خد تصريح رقم 2 طيب لو عايزه ياخد التصريحين مع بعض هقوله اكيد خد الرقم 6 اللى حصل كله انى جمعت 2+4 = 6 (اخدتها فى ابتدائى ) خد بالك كل واحد من التلاتة حبايبنا اللى بياخدوا التصريح وهما : 1- اليوزر 2- الجروب 3-الزوار بيبقى ليه خانه واحدة بس يعنى لو عايز ادى للجروب خاصية القراءة والكتابه على الملف هحط رقم 6 فى المنتصف وقبله صفر وبعده صفر ولو عايز اليوزر والجروب والزوار ياخدوا كافة التصاريح هيبقى 777 ودا اخطر التصاريح لان ساعتها هيبقى كانك فتحت خزنة فى وسط ميدان التحرير وسيبتها لصمير الناس طبعا هتيجى تانى يوم مش هتلاقى الميدان والمجمع كمان مش الخزنة بس لان طبعا الزوار قد يكون منهم هاكرز ويسببوا لك مشاكل كبيرة جدا فى الملف ويقدروا يعملوا بيه اكتر من مصيبة فى الخادم او فى الجهاز نرجع لموضوعنا : عايزين ندى تصريح او نسحب تصريح بنفس الشكل وبنفس الطريقة وكالتالى : كود PHP:
طبعا اسهل من الاولى بكتير خد بالك كويس اوى انك لازم تحدد تصاريح الجميع للملف عند اعادة التصاريح للارقام لانك هنا بتذكر تصاريح اليوزر والجروب والزوار فلازم تبقى عارف كانت ايه وعايزها تبقى ايه ولكن لو عايز اغير تصاريح مجلد او مسار وكل الملفات المتواجده فيه هيكون الحل ايه ؟؟؟ طبعا هتعرف الاول انته عايز تعمل ايه ؟ اولا حذف صلاحية من الجروب والاونر للمجلد وابقاء صلاحية القراءة فقط للمسار والملفات التى يحتويها لاتنسى هذا هيكون الامر كالتالى هنستخدم chmod طبعا هنستخدم ال - حذف وهنستخدم حرف ال r لتوضيح انى عايز اغير تصاريح المجلد والملفات التى يحتويها لان ال r بيلف ويدور على كل اللى تحته ويغير كله مع بعضه وحرف ال u لليوزر طبعا وحرف ال g للجروب و هيكون الامر كالتالى كود PHP:
وبكدا يكون انتهى كلامنا فى التصاريح وكل سنة وانتم طيبين فلنتوكل على الله ونبدأ شرح فى برمجة الباش والشل سكربت ( كلام خفيف اوى ) اول شىء عند كتابه الاسكربت اسم الملف : لازم ينتهى ب .sh زى ملفات ال .exe كدا فى الويندوز بمعنى اصح تانى شىء يكون الملف اللى انته بتعمله ليه تصاريح التنفيذ لانك طبعا بتكتب اسكربت فلازم اكيد هتنفذه فبتكتب الامر دا اول ما بتعمل الملف كود PHP:
نفتح الاسكربت باى برنامج محرر نصوص ونبدأ نكتب فيه اول شىء هتكتبه خالص هوا ال shebangومسار ملفات اللى هيعتمد عليها الاسكربت فى تنفيذ السطور طبعا انته بتكتب اسكربت باش يبقى الملف هيتنفذ عن طريق ملفات الباش كالتالى مسارها كود PHP:
كود PHP:
أولا علامة # الهاش معناها انه يوجد بعدها تعليق اى ان هذا السطر لا يتم تنفيذه يعنى نفض للسطر دا ثانيا قمنا بالتعويض داخل سطر الاسكربت العادية بامر شل كالتالى PWDيعنى اكتب لى المسار اللى انا فيه فى وسط الكلام كدا خلي الناتج يظهر كجملة فى وسط الكلام وكذلك عوضنا باستخدام امر date الان والحمد لله على كل شىء تم الانتهاء من الشرح بعد ساعتين من الكتابه من الثانية وحتى الرابعة صباحا نرجوكم ألا تنسونا من صالح دعائكم ان أصبت فمن الله وإن أخطأت فمن نفسى ومن الشيطان انتهت المحاضرة بعون الله واى شىء غامض فى الملاحظات اللى ذكرتها انا تحت امركم فى الرد ادعولى يا جماعة ولوالدى والله محتاج دعواتكم فترة صعبه ( نفسيا وجسديا ) امتحانات وتعب بدنى شديد جدا برجاء عند النقل ذكر الكاتب والمصدر للأمانة فنشر العلم لا يكون بمحو من تعب لايصاله للناس كريم عبد القادر ادارة عرب توب هوست للإستضافة وخدمات الدعم الفنى 3rbtophost.com karim24189 |
جزاك الله خير .. الموضوع مهم جداً ومشروح بطريقة احترافية ماشاء الله
وفقك الله ,, :) تشآآآو |
شرح أكثر من رائع , جزاك الله خيراً أخي
تحياتي لك مصطفى . |
مشكور أخى مصطفى على المرور :)
يارب الموضوع يفيد كل من يحتاج هذى المعلومات مرورك هوا الاروع من الشرح الشرح من كورس rhce :d مجال الدراسة والعمل لينوكس :) بالتوفيق لك |
جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 12:28 AM. |
Powered by vBulletin
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © ArabWebTalk.Com 2004-2012