بسم الله الرحمن الرحيم
اليوم نقدم شرح خاص بالتصاريح داخل عالم لينوكس وايضا جزء بسيط من برمجة الشل اسكربت كمقدمة بسيطة
والمنهج المشروح منه هوا منهج rhce
اتمنى ربنا يوفقنى فى الشرح ويوفق القارىء فى الفهم
الشرح من عملى الخاص وملاحظاتى الخاصة
من كورس rhce ومن استاذى الفاضل مهندس مصطفى
Users, Groups and Permissions
لابد من فهم شىء مهم جدا قبل البدء :
مين هوا اليوزر ؟؟؟
مين الجروب ؟؟؟
مين OTHERS اللى بنتكلم عليهم ؟؟؟
وايه علاقه الروت بالكلام دا كله ؟؟؟؟
قبل أى شىء يجب على الدارس أن لا يخلط بين تصاريح الروت ومجال صلاحياته ومجال صلاحيات اليوزر
فاليوزر هو مستخدم بسيط للنظام قد يكون فى أى شركة عبارة عن دعم فنى او عن موظف حسابات يدخل الى النظام لمجرد اضافات معلومات على ملف واحد فقط فى النظام ولذلك ليس له اى صلاحيه غير هذا ولا يجب ان تزيد صلاحياته عن هذا ولكن الروت هوا الكبير الكل فى الكل يعنى صاحب المنشأة اللى إشترى الكمبيوتر والسيستم من الاخر ( راجل بيحلم والنظام بيحقق له احلامه ) يعنى مش من حقك تخلط بين اليوزر والروت .. طيب هل يمكن يكون فى السيستم يوزر يكون ليه صلاحيات الروت انى أعطى له صلاحية الروت وكل شىء متعلق بيه ؟؟؟ أينعم
ومين هما ال GROUPS ؟؟؟
الجروب ببساطة هما مجموعة من المستخدمين داخل النظام فلنتخيل النظام اللينوكس عبارة عن سيرفر فى شركة كبيرة يخدم الشركة ككل فكل موظف يدخل من جهازه الى السيرفر ويقوم بالتعديل فى ملف واحد وليكن المنشأة التى يعمل بيها الموظفين بنك مثلا ففى البنك العديد والعديد من الموظفين مثلا موظفى قسم الحسابات وموظفين الايداع للنقديه وموظفين اخرين لخدمة العملاء عبر الهاتف
فلو كنت أنت صاحب المنشأة هل ستعطى لهم كافة الصلاحيات ؟؟؟؟
بالطبع لا فكل ما ستفعله هوا مجرد أنك ستحدد موظفى الدعم الفنى عبر الهاتف والرد على استفسارات العملاء ستعطى لهم صلاحيات مشاهدة بيانات العملاء دون التعديل فيها ( READ) بدون ان يقوموا باضافة او تعديل او تنفيذ أى عمليه تحويل نقدية داخل البنك وهكذا كل قسم يكون له صلاحيات معينه على حسب وظيفته
من هم OTHERS أو الاخرين ؟؟؟
الأخرين فى مثالنا السابق هم المترددين على البنك يوميا او بالنسبة لخادم المواقع على الانترنت فهم زوار الموقع فهل تتخيل أنك لو كنت صاحب البنك هل ستعطى لهم تصريحا بالتعديل والكتابه فى ملفات البنك وتنفيذ عمليات نقدية بدون أى حساب او نقاش ؟؟؟
بالطبع لا سيكون كل ما تريده لهءلاء العملاء هوا القراءة فقط والتعامل فقط وليس التعديل فى ملفات البنك الخاصة او فى عملياته النقدية المعقدة
وما هى التصاريح ( Read -Write -Excute )
التصاريح ظاهرة وواضحة من مجرد أسمائها
التصريح الأول read : هو تصريح القراءة فقط للملف بمعنى انك تستطيع قراءة الملف دون التعديل فيه أو الوصول للبيانات دون إتلافيها أو تنفيذ البيانات ( إذا كانت أوامر شل مثلا او ملفات تنفيذية فى النظام Excutable Files )
التصريح الثانى (write ) :
هوا تصريح الكتابه داخل الملف والإضافة إلى سطوره البرمجية والتعديل فيها بما يناسبك ويناسب احتياجاتك
التصريح الثالت ( Excute ) :
هوا تصريح تنفيذ الملف بمعنى اخر هوا تشغيل الملف وتنفيذ الأوامر البرمحية الحالية التى به مثل تركيب أحد البرامج وتنصيبها .
إلى هنا وقمنا بتحديد أهم من يقومون بالتعامل مع النظام من المستخدمين وأيضا ما هى التصاريح ومعناها
ولكن بالنسبة لبيئة العمل داخل لينكس ماهى الطريقة الصحيحة لتعديل التصاريح والتعامل مع الملفات والمستخدمين والجروب؟؟؟؟
الأمر سهل وبسيط :
دعونا ننشىء أولا بيئة العمل التى سنقوم بتنفيذ الأوامر فيها
إدخل الى نظاما لتشغيل الخاص بك CentOS وقم بفتح الشل ( Terminal ) وقم بتنفذ الأوامر الثالية :
أولا قم بإضافة مستخدم جديد للنظام وليكن b7lmbeek
كود PHP:
#adduser b7lmbeek
#passwd b7lmbeek
عند إضافة اليوزر الجديد الى النظام لينوكس يقوم النظام لينوكس بإنشاء مجموعة جديدة إفتراضية بنفس إسم المستخدم وهو b7lmbeek ولمعرفة مستخدمين النظام لينوكس على جهازك يمكنك التوجه الى الملف /etc/passwd ثم قم بفتحه عن طريق محرر النصوص بالأمر التالى :
كود PHP:
#nano /etc/passwd
ستجد العديد من المستخدمين داخل النظام ما هذا ؟؟؟
من أين أتى كل هؤلاء المستخدمين ؟؟؟(حد بيفتح جهازى وانا مش هنا يارجاله )
الاجابة بسيطة أن نظام التشغيل لينوكس يعتبر الخدمات services هى عبارة عن مستخدمين وكل مستخدم له صلاحياته فى النظام وذلك لتسهيل العمل داخل النظام ومن خلال بحثك داخل الملف ستجد المستخدم الجديد b7lmbeek فى النهاية وبجانبه سطر كبير من الكلام كالتالى :
كود PHP:
b7lmbeek:x:501:501::/home/b7lmbeek:/bin/sh
اول شىء بالسطر هوا اسم المستخدم وهوا طبعا b7lmbeek
الجزء الثانى علامة × هى عبارة عن مكان الباسورد الخاص بالمستخدم الذى يتوجه اليه السيستم للتأكد منه عند تسجيل دخوله للنظام
الجزء الثالث هوا ال UID او user id او رقم اليوزر فكل يوزر جديد فى النظام يقوم النظام باعطاؤه رقم خاص به يتم التعامل به داخل النظام وهذا الرقم يكون بعد الرقم 500 بمعنى ان اول يوزر يكون رقمه 501 وهكذا
الجزء الرابع هوا رقم الجروب ويكون العد فيه يبدأ من 500
الجزء الخامس هوا ال actual name الخاص باليوزر الاسم الحالى لليوزر
الجزء السادس هوا مسار الملفات الخاصة به داخل النظام او ملفات الهوم الخاصة به ويكون هذا المسار متفرعا من المسار home
الجزء السابع هوا نوع ملفات الشل الذى يستخدمها هذا المستخدم ومسارها فكما ذكر من قبل الشل انواعه كثيرة
وماذا بالنسبة للباسورد واين يتم حفظها ؟؟؟
وهنا يمكنك التوجة للملف التالى وتحريره بمحرر النصوص داخل الشل كالتالى
كود PHP:
#nano /etc/shadow
ستجد اسم اليوزر الجديد وهوا السيد المحترم b7lmbeek
وستجد بجوار اسمه الباسورد ولكن يالها من خسارة فهى فى حالة تشفير من نوع MD5
وما هى البيانات بجوارها ؟؟؟
هى بيانات عن كلمة السر ومتى تنتهى وهل سيتم انذار اليوزر قبل انتهاء كلمة السر ومتى موعد التنبيه وحتى متى تكون ساريه
كود PHP:
#b7lmbeek:$1$eDrP8R7R$NqsMRGQC8d34G18s6ah3c.:14229:0:9$
وماذا بالنسبة للجروب ؟؟؟ من أين يمكننى معرفة الجروبات المتواجدة داخل السيستم وأيضا معرفة كل شىء عنهم ؟؟؟
وهنا يمكنك التوجة للملف التالى وتحريره بمحرر النصوص داخل الشل كالتالى
كود PHP:
#nano /etc/group
وعند البحث على اسم الجروب الممائل لاسم اليوزر ( ذكرنا من قبل ان النظام ينشىء لكل يوزر جروب جديد افتراضى اسمه بنفس اسم اليوزر ) ستجد التالى :
كود PHP:
#b7lmbeek:x:501:b7lmbeek
وهوا اسم الجروب ورقمها او ال group id ثم الاعضاء المشتركين فيها حاليا
الى هنا تم التعرف على الجروب واليوزر داخل اللينوكس فقد قمنا بانشاء يوزر اسمه b7lmbeek داخل النظام وتأكدنا من وجوده وقمنا بانشاء باسورد خاصه به بل وأيضا قمنا بمعرفة كل شىء عنه ومسار ملفاته
نقوم الان بالتجهيز لبيئة العمل بشكل مفصل
كود PHP:
#cd /root
#mkdir test
#cd test
الى هنا قمنا بعمل التالى :
الدخول الى المسار روت فى الخطوة الاولى
الخطوة الثانية إنشاء فولدر أو مسار واسمه test
الخطوة الثالثة الدخول الى المسار test
الى هنا قمنا بانشاء المسار الذى سنضع به الملفات وسنجرب به كل شىء
ثم سنقوم بانشاء أكثر من ملف يحملون نفس الاسم ولكن بالترقيم كالتالى
كود PHP:
#touch test{1,2,3,4,5,6,7,8,9,10}
# ls
-----
ملحوظة لاحظ الفرق بين الأمرين التاليين :
كود PHP:
#touch test{1,2,3}
هذا الامر ينشى ثلاثة ملفات تحمل الاسم test1, test2, test3
كود PHP:
#touch test {1,2,3}
بينما هذا الامر يقوم بانشاء أربعة ملفات test ,1,2,3
هل لاحظت الفرق جيدا انه المسافة بين كلمة test فى الامر الاول وبين الأقواس ولذلك خد بالك كويس اللينكس فاهم هوا بيعمل ايه مش زى حاجة تانية واللى بالى بالك
-----
نكمل حديثنا وشرحنا
الى هنا أصبح لدينا عشرة ملفات هى بعد طباعة الامر التالى داخل المسار test :
كود PHP:
#ls
test1 test2 test4 test6 test8
test10 test3 test5 test7 test9
الان نريد معرفة كل شىء يخص الملفات من بيانات وتصاريح وخلافه هنا ينقوم بطباعة الأمر التالى :
#ls -l
دعنا نلقى نظرة عن الناتج لكل ملف سيكون كالتالى :
كود PHP:
-rw-r--r-- 1 root root 0 2008-12-17 02:28 test1
ما معنى هذا السطر ؟؟؟
معنى السطر كالتالى
أول عشرة حروف هى خاصة بالتالى
الحرف الاول فارغ ومكانه - بمعنى ان هذا ملف وليس مسارا ولو كان مسار كان سيكون مكان الشرطة حرف d او انه directory مسار
الحروف الباقية تقسيمتها سهلة وبسيطة بالعد سترى انهم تسعه أحرف
الحروف الثلاثة الأولى هى لليوزر (owner )وهوا مالك الملف الحالى وهى التصاريح الخاصة به فهوا يستطيع كما بالشكل ان r= read و w= write ولا يستطيع التنفيذ او x =excute
الحروف الثلاثة التانية هى خاصة بالمجموعة التى ينتمى لها هذا اليوزر او بقيه اعضاء الجروب وهنا نجد أنهم يستطيعون قراءة الملف فقط ومكان بقيت التصاريح مختفى اى انهم ليس لهم صلاحية التنفيذ او الكتابه فى الملف
الحروف الثلاثة الأخيرة هى لل others الاخرين فهم ايضا لا يستطيعوا سوى قراءة الملف فقط
وماذا عن بقيت السطر ؟؟؟؟
بقيت السطر يصف أولا من هوا اليوزر الحالى للملف ؟؟؟ root المستخدم
ومن هوا الجروب الحالى للملف هوا الجروب root
ومتى اخر تعديل للملف ؟؟؟ التاريخ
وما هوا اسم الملف الذى نتحدث عنه
بهكذا إتضحت الرؤية بشكل تام لمعنى ناتج الأمر
والان نريد تعديل الصلاحيات وتغيير المستخدم او تغيير الجروب التى تتعامل مع الملف كيف يمكننا هذا ؟؟؟
نبدأ أولا بتغيير مالك الملف ليصبح شخص اخر بحيث شخص اخر يمكنه التعامل مع الملف بالشكل الذى نريده
نقوم بتنفيذ الامر التالى :
كود PHP:
#chown b7lmbeek test1
البعض يقول انه لم يفهم شيئا مما كتب فى الامر حسنا نسترجع ببساطة لنجد التالى
ان الامر اسمه يدل عليه وهوا change ownership
الامر يقوم على التالى اولا اسم الامر كما يلى chmod
ثم اسم المالك الجديد للملف b7lmbeek ( عقبال الحبايب كدا يارب )
ثم اسم الملف الذى سنقوم بتغيير المالك الخاص به الى المالك الجديد
الامر سهل ولكن يحتاج الى بعض التركيز
فى نظام التشغيل لينوكس لازم تبقى عارف انته جاى منين ورايح فين لان مفيش refresh فى الكليك يمين زى ويندوز يعنى ببساطة تبقى عارف المالك الجديد واسم الملف وعارف الامر
ويكون ناتج الامر كالتالى :
كود PHP:
-rw-r--r-- 1 b7lmbeek root 0 2008-12-17 02:28 test1
نرجو التركيز بليز
اللى حصل فى الامر انى غيرت مجرد اليوزر الخاص بيه اللى بيتحكم فيه
نلاقى سؤال بيقول طيب وهاو كدا الروت راحت عليه ؟؟؟
طبعا لاء الروت فوق الكل ويقدر يغير اى حاجة يعنى الروت خصص الملف دا لليوزر دا بس بعيد عن اى يوزر تانى داخل السيستم
طيب هوا b7lmbeek انضم الى الجروب root ؟؟؟
لاء ولكن كل اللى حصل ان الملف اتغير المستخدم وفى نفس الوقت ظل اعضاء الجروب root يقدروا يتحكموا فيه وليهم صلاحيات كالتالى r--يعنى قراءة فقط
أرجو من الجميع اخراج المستخدم روت خارج اللعبة فهوا الكل فى الكل هنا وميصحش نغلط فيه
ولكن ؟؟؟
ماذا لو اردنا تغيير المجموعة أيضا ؟؟؟؟
نقوم بعمل التالى :
كود PHP:
#chgrp b7lmbeek test1
ويكوزن الناتج ان الجروب يتغير كالتالى :
كود PHP:
-rw-r--r-- 1 b7lmbeek b7lmbeek 0 2008-12-17 02:28 test1
يطلع سؤال ... هوا كدا الروت ملوش تحكم ؟؟؟ طبعا لاء الروت ليه تحكم والجروب بتاعته ليها تحكم وكل حاجة ولكن فلنفرض انى بغير الجروب من الجروب كريم الى جروب الاخ الفاضل b7lmbeek اذن جروب كريم كدا مع السلامة ويستلم جروب b7lmbeek الرايه ويتصرفوا على حسب ما الروت يقولهم ويتحكم فيهم
ولكن ؟؟ هل كل اما احب اغير الاونر للملف والجروب هكتب الامرين دول
هنقول فى طريقتين للموضوع :
الطريقة الاولى انك تكتب الامرين وبينهم علامة ; وهيتنفذوا كالتالى
كود PHP:
#chown b7lmbeek test2;chgrp b7lmbeek test2
الطريقة التانية كالتالى :
كود PHP:
#chown b7lmbeek:b7lmbeek test2
معنى الكلام ايه ؟؟؟؟
انى عن طريق الامر البسيط chown اقدر اغير الجروب واليوزر او الاونر فى نفس الوقت ( اليوزر هوا الاونر منعا لللخبطة فى الكلام ) بس بشرط انك تفصل بينهم كدا بالنفطتين دول :
طيب يطلع سؤال بيقول ....؟
هل لو انا عايز اغير المالك او الجروب للمسار بكل الملفات اللى تحته أعمل ايه ؟؟؟
هتخرج برا اولا على المسار من برا
وبعدين هتستعمل امر تغيير الجروب والمجموعة بشرط انك تضع حرف زيادة او اوبشن زيادة فى الامر كالتالى :
كود PHP:
#chown -R b7lmbeek:b7lmbeek test
معنى الامر : انا بقول للنظام هتروح تغير لى المالك والجروب للمسار وكل الملفات اللى تحته بحيث يكون المالك هوا b7lmbeek والجروب المالكه هى b7lmbeek للمسار test والملفات اللى جواه كلها وهى test1,......test10
شىء جميل
لازم تجربوا يا جماعة كتير فى الموضوع عشان يتفهم كويس جدا لانه مش سهل بل كما قال أستاذنا الباشمهندس مصطفى هوا الأساس فى اللينوكس وهوا اللى هيعرفك كل شىء
نكمل كلامنا :
لحد دلوقتى احنا عرفنا ايه ؟؟؟
ما هوا اليوزر و الجروب والاخرين ؟
ما هوا التصريح read , write , excute ؟
ماهوا الطريقة لتغيير مالك الملف ؟
ما هى الطريقة لتغيير مالك الملف والمجموعة مرة واحدة ؟
ما هى الطريقة لتغيير مالك الملف والمجموعة للمسار والملفات التى توجد به مرة واحدة ؟؟
اذا مقدرتش ترد على اى سؤال منهم لازم ترجع تقرا الموضوع من الاول وتشاهد الفيديو كويس اوى ومن تانى معلش دى القواعد
نكمل كلامنا :
انا عايز اغير التصريح نفسه أعمل ايه ؟؟؟؟
يعنى ايه اغير التصريح نفسه ؟؟؟ يمعنى أصح هوا أن أعطى بعض السماحيات للليوزر او للجروب كله او للزوار مثل القراءة او الكتابه على الملف او التنفيذ
يعنى read & write & Excute
اولا هناك طريقتين للتغير والطريقتين فعالتين وسهلتين جدا واذا فهمت احدهم لن تحتاج لمراجعتها ابدا لبقية حياتك
الطريقة الاولى : sympolic
يتم تغيير التصاريح عن طريق الاحرف بمعنى ان لكل تصريح مثل القراءة والكتابه حرف يدل عليه كالتالى
كود PHP:
Read =r
Write =w
Excute =x
يعنى انا هستعين بالحروف دى لتغيير التصريح
كالتالى شاهدوا الامر التالى وركز فى الناتج وشاهد ماذا سنفعل ؟؟
كود PHP:
#ls -l
-rw-r--r-- 1 root root 0 2008-12-17 02:28 test4
سنقوم بشرح اول عشرة أحرف فى الناتج لاننا سبق وشرحنا السطر بالكامل
(-)الحرف الأول فارغ وهوا معناه ان هذا ملف عادى وليس مسارا ولو كان مسار كان سيظهر حرف d
ومن هنا نبدأ بتقسيم التسعة أحرف الباقية الى ثلاث مجموعات كل مجموعة تتكون من ثلاثة حروف كالتالى
الاحرف الثلاثة الاولى تكون تصاريح اليوزر
الاحرف الثلاثة الثانية تخص الجروب
الاحرف الثلاثة الاخيرة تخص عامة الشعب الزوار على النظام
والعلامة المائلة بينهم من عندى لسهولة التقسيم
فى المثال الموضح تصاريح الملف لليوزر المستخدم الغلبان هى القراءة والكتابه فى الملف فقط فلا يحق له تنفيذ الملف
بينما من تصاريح الجروب هوا القراءة فقط وبقيت الخانات فارغه بمعنى ليس له حق فى شىء غير القراءة وكذلك الزوار على النظام
كيف يمكننى تغيير الصلاحيات واضافة الصلاحية وحذفها ؟؟؟
عليك اولا ان تعلم أمر تغيير الصلاحية كالتالى :
كود PHP:
#chmod u+x test4
معنى الامر السابق ؟؟؟
هوا اننى طلبت من النظام اولا بالتوجه للملف وهوا test4 وطلبت منه ان يقوم باعطاء او اضافة تصريح لليوزر user u بالتنفيذ داخل الملف
خد بالك انا مقلتلوش اليوزر مين دا اولا وكمان مذكرتش بقيت التصاريح زى الجروب والزوار كل اللى ذكرته هوا انى عايز اضيف لليوزر للملف دا ايأ كان وطبعا أشرت لليوزر بالحرف الإنجليزى u وهنااعطيت اليوزر صلاحية التنفيذ فقط على الملف هذا فقط واشرت لها بالرمز x
عايز تتأكد من كلامى توجه الى الشل واكتب الامر التالى :
#ls -l
واتفرج هتلاقى ان صلايحة التنفيذ اتضافت للملف كالتالى :
كود PHP:
-rwxr--r-- 1 root root 0 2008-12-17 02:28 test4
طيب لو عايز أضيف صلاحية للجروب ؟؟؟
مختلفناش هتروح برده للشل وتكت مكان حرف ال u حرف اخر رمز الجروب وهوا g اكيد طبعا الكل توقع ان الزوار هياخدوا الحرف o وبالتالى انا ممكن اشيف للزوار والجروب صلاحية مرة واحدة بالامر :
كود PHP:
#chmod go+x test4
وشوف هتلاقى التصرريح اتغير كالتالى :
كود PHP:
#ls -l
-rwxr-xr-x 1 root root 0 2008-12-17 02:28 test4
طيب انا بقى استخسرت صلاحية التنفيذ فيهم كلهم هقوم كاتب الامر التالى اكيد كلكم توقعتم الامر )
كود PHP:
#chmod ugo-x test4
#ls -l
-rwxr--r-- 1 root root 0 2008-12-17 02:28 test4
والحمد لله رجع الملف لحاله القديم وبكدا نكون انتهينا من الطريقة الاولى لتغيير التصاريح
الطريقة الثانية :
هى عن طريق الأرقام
مفيش لخبطة ولا حاجة بس ركز وهتلاقيها اسهل الف مرة من الطريقة السابقة (قلنا الصعبه الأول عشان الناس تبقى فاهمة كل حاجة )
هنا يتم فرض ان لكل تصريح رقم يعبر عنه كالتالى
كود PHP:
Read =4
Write =2
Excute =1
يعنى لو عايز ادى لحد تصريح القراءة هقوله خد رقم 4
ولو عايز حد ياخد تصريح الكتابه على الملف هقوله خد تصريح رقم 2
طيب لو عايزه ياخد التصريحين مع بعض هقوله اكيد خد الرقم 6
اللى حصل كله انى جمعت 2+4 = 6 (اخدتها فى ابتدائى )
خد بالك كل واحد من التلاتة حبايبنا اللى بياخدوا التصريح وهما :
1- اليوزر
2- الجروب
3-الزوار
بيبقى ليه خانه واحدة بس
يعنى لو عايز ادى للجروب خاصية القراءة والكتابه على الملف هحط رقم 6 فى المنتصف وقبله صفر وبعده صفر
ولو عايز اليوزر والجروب والزوار ياخدوا كافة التصاريح هيبقى 777 ودا اخطر التصاريح لان ساعتها هيبقى كانك فتحت خزنة فى وسط ميدان التحرير وسيبتها لصمير الناس طبعا هتيجى تانى يوم مش هتلاقى الميدان والمجمع كمان مش الخزنة بس
لان طبعا الزوار قد يكون منهم هاكرز ويسببوا لك مشاكل كبيرة جدا فى الملف ويقدروا يعملوا بيه اكتر من مصيبة فى الخادم او فى الجهاز
نرجع لموضوعنا :
عايزين ندى تصريح او نسحب تصريح بنفس الشكل وبنفس الطريقة وكالتالى :
كود PHP:
#chmod 641 test5
#ls -l
-rw-r----x 1 root root 0 2008-12-17 02:28 test5
جربها اكتر من مرة وان شاء الله تتعلمها بسلاسة وتبقى زى الفل معاك
طبعا اسهل من الاولى بكتير
خد بالك كويس اوى
انك لازم تحدد تصاريح الجميع للملف عند اعادة التصاريح للارقام
لانك هنا بتذكر تصاريح اليوزر والجروب والزوار فلازم تبقى عارف كانت ايه وعايزها تبقى ايه
ولكن لو عايز اغير تصاريح مجلد او مسار وكل الملفات المتواجده فيه هيكون الحل ايه ؟؟؟
طبعا هتعرف الاول انته عايز تعمل ايه ؟
اولا حذف صلاحية من الجروب والاونر للمجلد وابقاء صلاحية القراءة فقط
للمسار والملفات التى يحتويها لاتنسى هذا
هيكون الامر كالتالى
هنستخدم chmod
طبعا هنستخدم ال - حذف
وهنستخدم حرف ال r لتوضيح انى عايز اغير تصاريح المجلد والملفات التى يحتويها لان ال r بيلف ويدور على كل اللى تحته ويغير كله مع بعضه
وحرف ال u لليوزر طبعا وحرف ال g للجروب
و هيكون الامر كالتالى
كود PHP:
chmod -R uog-wx test
ارجو ان قصدى يكون وصل بالنسبة لاستخدام حرف r فى الاوامر لانه اوبشن مهم جدا وبيفيد فى حالة تغيير لمسار كبير يحتوى على العديد من الملفات بدل ما تعدل المسار وكل ملف جواه بنفسك
وبكدا يكون انتهى كلامنا فى التصاريح
وكل سنة وانتم طيبين
فلنتوكل على الله ونبدأ شرح فى برمجة الباش والشل سكربت ( كلام خفيف اوى )
اول شىء عند كتابه الاسكربت اسم الملف : لازم ينتهى ب .sh
زى ملفات ال .exe كدا فى الويندوز بمعنى اصح
تانى شىء يكون الملف اللى انته بتعمله ليه تصاريح التنفيذ لانك طبعا بتكتب اسكربت فلازم اكيد هتنفذه فبتكتب الامر دا اول ما بتعمل الملف
كود PHP:
#chmod +x myscript.sh
#chmod 777 myscript.sh
طبعا هنا انا مكتبتش عايز مين اللى ياخد تصريح التنفيذ فاللينكس هيفهم لوحده انى عايز كل اللى على الملف ياخدوا التصريح دا وشكرا هيقوم يديهم صلاحيات التنفيذ ودا المطلوب
نفتح الاسكربت باى برنامج محرر نصوص ونبدأ نكتب فيه
اول شىء هتكتبه خالص هوا ال shebangومسار ملفات اللى هيعتمد عليها الاسكربت فى تنفيذ السطور
طبعا انته بتكتب اسكربت باش يبقى الملف هيتنفذ عن طريق ملفات الباش كالتالى مسارها
وتبدأ تكتب فى الاسكربت وليكن اول شىء تكتبه
كود PHP:
#!/bin/bash
# This script displays some information about your environment
echo "Greetings. The date and time are $(date)"
echo "Your working directory is: $(pwd)"
فى الاسكربت الماثل امامكم قمنا بعمل الاتى :
أولا علامة # الهاش معناها انه يوجد بعدها تعليق اى ان هذا السطر لا يتم تنفيذه يعنى نفض للسطر دا
ثانيا قمنا بالتعويض داخل سطر الاسكربت العادية بامر شل كالتالى PWDيعنى اكتب لى المسار اللى انا فيه فى وسط الكلام كدا خلي الناتج يظهر كجملة فى وسط الكلام وكذلك عوضنا باستخدام امر date
الان والحمد لله على كل شىء تم الانتهاء من الشرح بعد ساعتين من الكتابه من الثانية وحتى الرابعة صباحا نرجوكم ألا تنسونا من صالح دعائكم
ان أصبت فمن الله وإن أخطأت فمن نفسى ومن الشيطان
انتهت المحاضرة بعون الله
واى شىء غامض فى الملاحظات اللى ذكرتها
انا تحت امركم فى الرد
ادعولى يا جماعة ولوالدى والله محتاج دعواتكم
فترة صعبه ( نفسيا وجسديا ) امتحانات وتعب بدنى شديد جدا
برجاء عند النقل ذكر الكاتب والمصدر للأمانة فنشر العلم لا يكون بمحو من تعب لايصاله للناس
كريم عبد القادر
ادارة عرب توب هوست للإستضافة وخدمات الدعم الفنى
3rbtophost.com
karim24189