المقدمة
الـ Linux Administration بيختص بإدارة وتشغيل نظام التشغيل Linux. النظام ده يعتبر من أكتر الأنظمة قوة ومرونة وكمان مفتوح المصدر، يعني أي حد يقدر يطوره ويعدل فيه.
في شغل الـ Linux Admin، بتكون مسئول عن تشغيل السيرفرات وحمايتها، إدارة المستخدمين والصلاحيات بتاعتهم، وكمان متابعة الأداء بتاع النظام وتحديثه بانتظام. بتتعامل مع حاجات زي إعداد الشبكات، إدارة قواعد البيانات، تشغيل التطبيقات، وأتمتة العمليات باستخدام السكربتات.
وفي السلسلة دي هشارك معاكوا بعض الملحوظات والـ Notes المرتبطة بالـ Linux Administration.
Security Enhanced Linux
عندنا نوعين وهم الـ DAC والـ MAC:
الـ DAC : Discretionary Access Control ودي بيكون فيها ال Basic وال Special Permission وال ACL
الـ MAC : Mandatory Access Control ودي بيكون تحتها ال selinux
| Object | subject |
|---|---|
| Files | Users |
| Directory | Process |
| Network | Services |
| Label | Label |
فلما يجي user يعمل access ع ال fileents مثلا فلازم ال label ال في ال subject يساوي ال label ال في ال object
Selinux Components
1- الـ label او context
لو عاوز اعرض ال label بتاع كل ال file و dir
[root@mostafa ~] ls -lzلو عاوز اشوف ال label بتاع ال user او id -Z
[root@mostafa ~] idلو عاوز اعرض ال contest او ال label بتاع ال process
[root@mostafa ~] ps -z2- تاني حاجه من ال Components هي ال modes وفي 3 mode
| enforcing | permissive | Disable |
|---|---|---|
| دي حاله ال Enable | دا بيكون Disable بي بيبعتلك logs مثلا مين كان بيحاول يعمل أي | هنا Disable بس مش هيبعتلك logs |
ازاي اعمل Switch بينهم ؟
لو هحول من ال enforcing ل permissive مش لازم تعمل reboot لان ال context او label موجوده زي ما هي
لكن لو هتحول من enforcing ل Disable لازم تعمل reboot لان انت محتاج توقف عمل ال label من علي كل ال subject وال object الموجودة علي ال system
[root@mostafa ~] getenforceبيعرض ال mode ال انا شغال بيه حاليا
[root@mostafa ~] sestatusبعرض معلومات اكتر عن ال mode
[root@mostafa ~] setenforce 0بحول من ال enforce الي ال permissive
بس لو عملت reboot هيرجع لل enforce تاني لانه هيرجع لل mode الموجود في ال config file
فلو عاوز تحول بينهم بشكل دائم هيكون من ال config file ال موجود ف المسار دا
[root@mostafa ~] vim /etc/selinux/config3- تالت حاجه من ال Components هي ال Boolean
[root@mostafa ~] semanage boolean -lهعمل list بكل ال Boolean والحالة بتاعتها
[root@mostafa ~] setsebool zabbix_run_sudo onهنا بعمل on لل Zabbix لكن لو عملت reboot هترجع off لازم اضع قبلها ال -P زي الامر ال تحت كدا
[root@mostafa ~] setsebool -P zabbix_run_sudo onكدا هعمله on بشكل دائم
[root@mostafa ~] getsebool -aهيعرضلي كل ال Boolean ال موجودة
[root@mostafa ~] semanage fcontext -lبيعرضلي كل ال label بتاع system كله
لو عاوز اغير ال label او contest ودا سببها اني بيكون مثلا في fiels ف أماكن عاوز حاجات تاني تقدر تعمل access هنا بنغير ال type
[root@mostafa ~] semanage fcontext -a -t httpd_sys_context_t ‘/var/www/html(/.*)?’الامر دا بيغيرلي ال type بتاع المسار /var/www/html بكل ال تحته لل type ال اسمه httpd_sys_content_t
[root@mostafa ~] ls -lz /var/www/html/او عن طرق الامر دا
[root@mostafa ~] cat /var/log/audit/audit.log | grep avcدا مسار ال log بتاع ال selinux
[root@mostafa ~] cat /var/log/messages | grep sealertودي اده اسمها sealert بيكون فيها logs برضو
Manage Basic Storage
| MBR : Master Boot Record | GPT : Guid Partition Table |
|---|---|
| بيديني 4 primary partition باخد اول 3 pri والأخر بيكزن logical اقسمه لحد 15 | بيديني لحد 128 primary partition |
| اقصي حجم لل partition بيكون 2T | اقصي حجم بيكون 8 اكسابايت |
| بيشتغل مع ال 32bit | مع ال 32bit-64bit |
| No backup partioton table | يوجد backup لل partition table |
| Support BIOS | Support BIOS-UEFI |
الـ Mbr
الـ GPT
أنواع ال disks في ال Linux
| nvme | ssd | hdd |
|---|---|---|
| nvme | sda | had |
كل ال devices دي موجودة تحت ال /dev/
[root@mostafa ~] lsblkبعمل list بال disks وال partition الموجودة عندي
لو عندي disk جديد وعاوز ابدا استخدمه (هنا بعمله عن طريق ال gdisk)
دي كل ال options الموجودة في ال gdisk
الـ n بعمل create ل partitions جديد
لو عاوز احوله ل swap بضغط t ثم 82
بضغط w عشان احفظ ال عملته
[root@mostafa ~] mkfs.بكتب mkfs. واضغط tap عشان اعرض كل ال file system ال عندي
[root@mostafa ~] mkfs.xfs /dev/nvme0n2p2كدا عملت format لل partition ال اسمه /nvme0n2p2 بال xfs وبقا جاهز لل mount
[root@mostafa ~] mount /dev/nvme0n2p2 /disk1بعمل mount لل par ال اسمه nvme0n2p2 تحت ال dir ال اسمه /disk1
بس كدا ال mount بشكل temp هيطير لو عملت reboot لازم اعمله في ال config file
| Super Block | Journal Block | Data Block |
|---|---|---|
| دي ال متخزن عليه معلومات ال File system | دي بيتخزن فيها ال log بتاع ال disk | دي ال بيتخزن فيها الداتا ال انت بتكتبها |
[root@mostafa ~] df -hبيعرض list بال partition ال معمولها mount واقدر استخدمها ومكان ال mount بتاعها
لو عاوز اعمل mount بشكل permanent بشكل أساسي عشان لو حصل reboot لازم تعمل reboot يبقي لازم عن طريق ال config file الموجود في المسار دا
[root@mostafa ~] vim /etc/fstab[root@mostafa ~] mount -aالـ mount -a الامر داب يعمل mount لل configfile من الأول عشان لو فيه أي تعديل يعملها

دا ال fstab ال config file
بعمل partition عن طريق parted
بعمل new partition
لو عاوز اعمل resize بال parted
[root@mostafa ~] free -h بيجبلي list بال RAM-Swap
[root@mostafa ~] mkswap /dev/nvme0n2p1بعمل format لل partition دا بال swap
[root@mostafa ~] swapon /dev/nvme0n2p1
[root@mostafa ~] swapon -sكدا بعملon لل partition يعني اقدر اشتغل عليه ومساحته تظهر معايا في ال swap
بس دا بشكل موقت لو عملت reboot هيطير لازم نعدل في ال config file ال هو ال fstab
[root@mostafa ~] vim /etc/fstab[root@mostafa ~] mount -a[root@mostafa ~] systemctl daemon-reloadبعد أي تعديل في ال fstab لازم تعمل ال mount -a او ال systemctl daemon-reload عشان يرجع ال system يعمل mount لل file من الأول فلو فيه أي تعديل هيظهر
[root@mostafa ~] topاقدر اشوف ال swap عن طريق امر top
[root@mostafa ~] partprobe /dev/nvme0n2هنا بقوله في تعديل حصل ع ال partition دا فبيبعت signal لل kernel فيعرف التعديل فاول م تعمل امر lsblk بيجبلك التعديلات ال تمت
[root@mostafa ~] udevadm settleدا الامر الجديد البديل للامر partprobe
Discussion