في هذه الصفحة
المقدمة
الـ 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 -z
2- تاني حاجه من ال 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/config
3- تالت حاجه من ال 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