في هذه الصفحة
المقدمة
الـ Linux Administration بيختص بإدارة وتشغيل نظام التشغيل Linux. النظام ده يعتبر من أكتر الأنظمة قوة ومرونة وكمان مفتوح المصدر، يعني أي حد يقدر يطوره ويعدل فيه.
في شغل الـ Linux Admin، بتكون مسئول عن تشغيل السيرفرات وحمايتها، إدارة المستخدمين والصلاحيات بتاعتهم، وكمان متابعة الأداء بتاع النظام وتحديثه بانتظام. بتتعامل مع حاجات زي إعداد الشبكات، إدارة قواعد البيانات، تشغيل التطبيقات، وأتمتة العمليات باستخدام السكربتات.
وفي السلسلة دي هشارك معاكوا بعض الملحوظات والـ Notes المرتبطة بالـ Linux Administration.
Kickstart
فيه 3 طرق لل installation
Manual | SemiAuto | Full Auto |
---|---|---|
USB | عن طريق ال kickstart او ال Anaconda file |
عن طريق ال satellite |
ال kickstart
1- يكون عندك ال anaconda file او ال kickstart file ودا بتعمله عن طريق الأداء من موقع redhat
2- اتاكد ان http service شغاله
[root@mostafa ~] systemctl status httpd
3- تكون عامل subscription
[root@mostafa ~] subscription-manager register
4- هتنقل ال file ل /var/www/html عشان تعمله access بال http
[root@mostafa ~] cp kickstart.txt /var/www/html
5- بعد كدا لما تيجي تعمل install مش هتختار new install لا هتضغط tab وتكتب الامر دا
[root@mostafa ~] ive.check quiet inst.ks=http://your ip/kickstart.txt
وفي اداه بتعمل check ع ال file اسمها ksvalidator وتكتب الامر دا
Ksvalidator anconda-ks.cfg
Command Line
ال script بيبدا ب #1/bin/bah
[root@mostafa ~] vim script1
عملت file اسمه script1 وكتب فيه انه يطبع كلمه hello
#1/bin/bash
echo “hello”
بعدين لازم احول ال file دا ل execute file عن طريق الامر دا
[root@mostafa ~] chmod +x script1
وبعد كدا اعمله run عن طريق الامر دا
[root@mostafa ~] which ls
بقوله اعرضلي المكان ال بتسدعي منه الامر ls
[root@mostafa ~] export PATH=”$PATH:/root”
بضيف ال path ف ال root عشان أي حاجه تحت ال /root هي execute اقدر اعملها run ب اسمها عطول
[root@mostafa ~] script1
لو عاوز افعل ال path عند كل ال users هروح ل .bashrc
[root@mostafa ~] vim .bashrc
وهضيف الامر فيه
Scheduling Tasks
عندي 3 أنواع
1- الـ atq: لو عوز اعمل run لحاجه ف وقت معين لمره واحده
2- الـ crond: (crontab)
[root@mostafa ~] crontab -lu mostafa
3- الـ anacron: لو عندي task مثلا ف وقت معين والجهاز اتعمله reboot ف الوقت دا لما الجهاز يشتغل هيرجع يعمل run لل task
لو عاوز اعرف اذا كان ف tasks لل users ولالا
[root@mostafa ~] ls /var/spool/cron
عشان تعمل task بدخل بال crontab باسم ال user ال عاوز ت run عنده ال task
[root@mostafa ~] crontab -eu mostafa
[root@mostafa ~] crontab -lu mostafa
الامر ال crontab -lu mostafa بيعرضلي لو في tasks لل user ال اسمه mostafa
ودا ال format بتاع الوقت ال بتكتب بيه ال tasks
Tuning
ال tuning هي profiled جاهزة بتوفرلي إمكانيات انا محتاجها (بمعني عاوز اوفر مثلا ف ال cpu-ram-disk)
[root@mostafa ~] rpm -qa | grep tuned
بشوف الأداء معمولها install ولالا
[root@mostafa ~] dnf install tuned
لو هعملها install
[root@mostafa ~] tuned-adm active
هيعرفني ال profile بتاعي
ال nice value بتكون من -20 ال 20
والـ -20 دي ال higher priority وهي ال ليها اولويه
انما الـ 20 دي ال lower priority
Access Control List (ACL)
بقوله خلي ال user ال اسمه mostafa يكون ليه access علي ال file دا
[root@mostafa ~] setfacl -m u:mostafa:rw- file
الـ -m اختصار ل modify
الـ u اختصار ل user
الـ rw بدي الuser : read-write
[root@mostafa ~] getfacl file
بيعرضلي list بال ACL يعني انا مطبق ACL علي ال file دا ولالا
علامة ال + ال ف الاخر بعد ال Permission كدا بمعني اني مطبق ACL ع ال dir دا
أصلا ACL فايدتها أي ؟ عشان لو عندي user معين عمل file وعاوز ادي access او permission لuser تاني علي ال file دا . طب هتقولي م نخلي ال others ليه access هقولك كدا الكل هيكون ليه access وانا محتاج user معين ال يكون ليه ال access
هنا يجي دور ال ACL
[root@mostafa ~] setfacl -R -m g:it:rwx work/
دي لو عاوز اطبق ACL علي Dir
لو عاوز اعمل inherit ل user ع ال dir بمعني اني اعمله access ع dir وبعد كدا لو تم انشاء dir تحت ال dir الأول ال واخد عليه ال access يحصل ال inherit ع ال dir الجديد
[root@mostafa ~] setfacl -R -m d:g:it:rwx work/
الـ -R عشان يطبق ال permission ع ال dir وكل ال تحته (Recursive)
الـ -m اختصار ل modify
الـ D اختصار ل default
الـ g اختصار ل group
الـ it دي اسم ال group
الـ rwx دي ال permission
الـ work/ دا اسم ال dir
[root@mostafa ~] setfacl -x u:mostafa work/
كدا بحذف ال Access من علي ال User
[root@mostafa ~] setfacl -b work/
كدا بحذف كل ال ACL ال موجودة
-b = remove all