في هذه الصفحة
المقدمة
الـ Linux Administration بيختص بإدارة وتشغيل نظام التشغيل Linux. النظام ده يعتبر من أكتر الأنظمة قوة ومرونة وكمان مفتوح المصدر، يعني أي حد يقدر يطوره ويعدل فيه.
في شغل الـ Linux Admin، بتكون مسئول عن تشغيل السيرفرات وحمايتها، إدارة المستخدمين والصلاحيات بتاعتهم، وكمان متابعة الأداء بتاع النظام وتحديثه بانتظام. بتتعامل مع حاجات زي إعداد الشبكات، إدارة قواعد البيانات، تشغيل التطبيقات، وأتمتة العمليات باستخدام السكربتات.
وفي السلسلة دي هشارك معاكوا بعض الملحوظات والـ Notes المرتبطة بالـ Linux Administration.
User and Group
الـ User Types:
System users | Local users | Services users |
---|---|---|
ID=200-999 | ID=1000 + | ID=1-199 |
الـ Group Types:
Primary Group | Secondary Group |
---|---|
عند انشاء أي user بيتم انشاء Primary Group بيكون هو فقط ال موجود فيها | دا لما اعمل custom واخلي اكتر من user ف group معين |
الـ Commands اللي ممكن نحتاجها:
Permission | remove | modify | add | option |
---|---|---|---|---|
Chmod Change chown |
userdel | usermod | useradd | User |
groupdel | groupmod | groupadd | group |
المسارات دي :
- /etc/group
- /etc/passwd
- /etc/shadow
- /etc/login.defs
بيتخزن فيها معلومات الـ Users والـ Groups
بنشا group اسمها hr:
[root@mostafa ~] groupadd hr
بحذف الجروب الي اسمها hr
[root@mostafa ~] groupdel hr
بعمل جروب اسمها it بس بعدل الرقم بتاعها
[root@mostafa ~] groupadd -g 4000 it
بقوله ضيف ال user ال اسمه test ال الجروب ال اسمه it
[root@mostafa ~] usermod -aG it test
بعمل lock لليوزر دا يعني مش هيقدر يدخل تاني ع الاكونت بتاعه . والباسورد بيبقي قدامها علامة !
[root@mostafa ~] usermod -L ahmed
بعمله unlock عشان يرجع يستخدم الاكونت بتاعه وهنا العلامه ! بتتشال
[root@mostafa ~] usermod -U ahmed
أي المسار دا بيكون فيه ال parameters الخاصة باليوزر مثلا الباسورد هتفضل معه كام يوم ويغيرها بعد اد أي وهكذا
[root@mostafa ~] vim /etc/login.defs
المسار دا بيكون فيه ال permission بتاع كل ال command ال يقدر ينفذها ال users ع السيستم
[root@mostafa ~] vim /etc/sudoers
المسار دا هيتخزن فيه كل ال command ال هتحصل من ال super suerع الجهاز
[root@mostafa ~] cat /var/log/secure
بعرض معلومات عن الuser ال اسمه mostafa
[root@mostafa ~] chage -l mostafa
بقوله اجباري بعد اول login لليوزر ال اسمه mostafa تجبره يغير الpassword بتاعته وأول م اعمل login هيظهرلي الشكل دا ولازم اغير الباسورد
[root@mostafa ~] chage -d 0 mostafa
بحذف اليوزر ال اسمه test2 من الجروب ال اسمه it
[root@mostafa ~] gpasswd -d test2 it
الwheel دا جروب بيكون فيه ال super users
[root@mostafa ~] cat /etc/group | grep wheel
بقوله ضع اليوزر ال اسمه mostafa ف الجروب ال اسمه wheel وبعد اليوزر داه يبقي super user
usermod -aG wheel mostafa
access file an dir
target=file or dir
object=user-group-other
permission=read-write-execute
Directories | Files | Permissions |
---|---|---|
يعني أقدر اعمل ls | يعني اقدر اعمل cat-less-more-tail-head | r=read |
يعني أقدر اعمل cp-rmdir-mkdir-touch يعني أقدر برضو اعمل edit – modify لل dir | يعني أقدر افتح ال file سواء ب vim-vi-nano يعني أقدر اعمل edit لل file دا | w=write |
يعني اقدر اعمل cd لل dir دا | دا بيكون مع ال special file او ال file ال عاوز اخليه يكون execute file | x=execute |
other | group | user |
---|---|---|
o ودا أي حد غير ال owner وال group owner |
g | u |
ال permission عندي نوعين
1-basic
2-special
Basic Permission
Symbolic | Numeric |
---|---|
r w x Chmod rwxr-xr—dir1 = chmod 754 dir1 |
r=4,w=2,x=1 all =7 chmod 754 dir1 بغير ال per بتاع الdir1 |
بيغر ال permission بتاع الdir ال اسمه videos اودي للكل full permission
[root@mostafa ~] chmod 777 videos
بيغر ال permission بتاع الdir ال اسمه Downlaod و-R عشان ال subdir ال تحته برضة تتغير
[root@mostafa ~] chmod 700 Downloads -R
بدي full per بس بطريقه ال symbolic وممكن بدل م اكتب ال ugo لان عاوز اديهم نفس ال per لا اكتبهم كدا a اختصار ل all
Chmod ugo+rwx dir2
Special Permissions
الـ special عندي 3 برضو زي اللي فال basic كان ال3 ال هما rwx
لا هنا هتكون u+s g+s o+s
الـ u+s (set user id) تطبق فقط علي ال execute filr وهنا ال users كلهم هيقدرو ي access ال file
[root@mostafa ~] chmod u+s file1
وهيكون في حرف ال s نهايه اول 3Car الخاصين باليوزر
الـ g+s (set group id) تطبق فقط ع ال directory وهي عشان لو عندي dir غيرت ال group بتاعته وعاوز كل ال sub ال تحت ال dir دا تاخد نفس ال group ال غيرته
[root@mostafa ~] chmod g+s Downloads/
وحرف ال s هنا هيكون فالمكان الخاص بال group
الـ o+s (stickybit) تطبق فقط ع ال directory ودي عشان لو عامل share directory محدش يقدر يمسح ملفات مش هو ال عملها create حتي لو معه r+w عليها
[root@mostafa ~] chmod o+t data10/
لو الملف دا كان عليه permission execute ال هو x الحرف هيكون small
لو مش واخد ال x الحرف هيكون capital
الـ chmod 4777 data اول حرف بيمثل ال special والباقي ال basic
[root@mostafa ~] chown mostafa:it Downloads
بقوله غيرلي اليوزر والجروب بتوع ال dir ال اسمه Download وخلي اليوزر يكون mostafaو الجروب يكون it لو عاوز اخلي كل ال sub يخد نفس التغيير دا هضع -R ف اخر السطر
ال root – usre لما ينشاو أي file-dir الsystem بيضع permission افتراضيه
644 | File |
---|---|
755 | directory |
طب دي جت ازاي من حاجه اسمها umask وهو رقم السيستم وضعه افتراضي بالقيمه دي 0022
تعال نحسب أي file عاوز اديله full per بيكون 666 لانه normal file
الـ (Full)0666-(umask)0022=0644=rw-r--r– دا لل file
والـ (full)0777-(umask)0022=0755 rwxr-xr-x دا لل directory
واقدر اعدل قيمه ال umask من المسار دا /etc/bashrc
Process
R | Running |
---|---|
الـ D بتكون uninterruptible بتكون ف حالة انتظر مثلا process تانية معتمدة عليها بينما الـ S بتكون interruptible بتكون منتظرة action معين يحصل عشان هي تشتغل |
Sleeping |
T | Stopped |
Z,X | zombie |
أي Process بيكون ليها
Process ID(PID) Parent Process ID(PPID)
[root@mostafa ~] ps aux
عشان اعمل list بكل ال process ال عندي
[root@mostafa ~] ps -ef
زي امر ps aux لكن بيعرض ال PPID
[root@mostafa ~] top
الـ top بيجبلي list بكل ال run process – كام user عامل login – ال uptime – معلومات عن ال Memory و ال swap – معلومات عن ال zombie ال موجوده ولالا .
لو ضغط ع حرف h هيجبلك help بسيطه لكل حرف ممكن تعمل بيه أي وانت عامل run لامر top وامر top زي ال task manger في ال windows
ال process ممكن تتعرض:
- Foreground (fg)
- Background (bg)
[root@mostafa ~] sleep 1000
[root@mostafa ~] jobs
[root@mostafa ~] bg %3
الـ Sleep 1000 بقوله وقف ال prompt بتاعي 1000ثانيه في ال fg
والـ jobs بيعرض ال jobs الحاليه
والـ bg %3 بقوله شغلي ال job ال رقمها 3 في ال BG
لو من البداية عاوز أقوله run الامر ف ال BG هقوله sleep 1000 &
[root@mostafa ~] sleep 100 &
لو عاوز أوقف أي process شغاله هيكون بامر kill-pkill
بعمل list بكل ال signal ال ممكن تستخدمها مع امر kill وعشان تعرف كل واحده وظيفتها أي ممكن تكتب man 7 signal
[root@mostafa ~] kill -l
لو عاوز اعرف ال id بتاع ال process
[root@mostafa ~] pido sshd
لو عاوز اعرف معلومات عن الCPU
[root@mostafa ~] lscpu