Presentation is loading. Please wait.

Presentation is loading. Please wait.

מערכות הפעלה חומר נוסף לתרגולים – אדמיניסטרציה ושימוש מתקדם ב Linux.

Similar presentations


Presentation on theme: "מערכות הפעלה חומר נוסף לתרגולים – אדמיניסטרציה ושימוש מתקדם ב Linux."— Presentation transcript:

1 מערכות הפעלה חומר נוסף לתרגולים – אדמיניסטרציה ושימוש מתקדם ב Linux

2 מערכות הפעלה - תרגול 152 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו תוכן התרגול שימוש מתקדם אדמיניסטרציה החומר להרצאה זו נלקח מ:  הרצאות של מועדון ה Linux החיפאי http://haifux.org/lectures/84-sil/users-processes-files-and-permissions/users- perms-lec.html http://haifux.org/lectures/84-sil/users-processes-files-and-permissions/users- perms-lec.html  The Linux Documentation Project http://tldp.org/LDP/sag/html/index.html

3 מערכות הפעלה - תרגול 153 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו Linux – כבר הכרנו ? מערכת הפעלה דמוית Unix  תאימות גבוהה (אך לא רשמית) לתקן POSIX.1 מערכת הפעלה חופשית  ניתנת להורדה בחינם מהאינטרנט  קוד פתוח - מפותחת כשיתוף פעולה של אלפי מתכנתים מכל העולם התחילה כפרויקט של סטודנט ב-1990  Linus Torvalds – כיום מוביל את פיתוח הגרעין העתידי של Linux שמה המלא: GNU/Linux  חלק ניכר מהתוכנה בכל distribution (גרסת הפצה) מעבר לגרעין הוא קוד פתוח של פרויקט GNU Linux מותאמת לסביבות חומרה רבות ושונות  למעשה, כמעט לכל סוג מעבד שיש  משעוני יד ועד לשרתים אירגוניים

4 מערכות הפעלה - תרגול 154 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו משתמשים Linux היא מערכת הפעלה מרובת משתמשים לכל משתמש יש User Id  User ID ='0‘ נקרא משתמש root - האדמיניסטרטור שיכול לעשות כל דבר במחשב כל תהליך משויך ל user שהפעיל אותו כל קובץ משויך ל user שיצר אותו קובץ /etc/passwd מכיל את רשימת כל ה users במערכת:  User Name  Password סיסמאות יכולות להופיע בצורה מוצפנת גם בקובץ wshado/etc/  User ID (number)  User's default Group ID (will be explained later)  Home Directory  Login Shell

5 מערכות הפעלה - תרגול 155 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו קבוצות משתמשים מוגדרות בקובץ /etc/group המכיל את רשימת כל ה groups במערכת:  Group Name  Password  Group Id (number)  List of Users לכל User יש default group, אך הוא יכול להשתייך לקבוצות נוספות אפשר לבדוק לאילו קבוצות User שייך ע"י הפקודה groups [username]

6 מערכות הפעלה - תרגול 156 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו קבצים לכל קובץ מוגדרות הרשאות גישה  ההרשאות מתחלקות ל 3 קבוצות: user-owner, group-owner, others  כל קבוצת הרשאות מתחלקת להרשאות קריאה,כתיבה, הרצה - rwx  ספריה היא גם קובץ. עבור ספריה: קריאה פירושה לראות את רשימת הקבצים והתתי ספריות בספריה זו כתיבה פירושה יצירת קובץ או ספריה חדשה בספריה זו הרצה פירושה לגשת לקבצים בספריה  כדי לקרוא קובץ tmp/X/ צריך הרשאת x על "/", הרשאת x על tmp/ והרשאת r על tmp/X/  בעל הקובץ – זה שיצר אותו, רשאי לשנות את ההרשאות  ניתן לשנות הרשאות ע"י הפקודה chmod  כ"א מ 9 ההרשאות נכתבות בפורמט של מספר אוקטלי – בין 0 ל 7  הרשאות ברירת מחדל הן בד"כ rw לכולם עבור קובץ, rwx לכולם עבור ספריה  הפקודה umask קובעת אילו הרשאות ברירת מחדל לא לתת לקובץ חדש

7 מערכות הפעלה - תרגול 157 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו תהליכים פקודה ps מציגה את רשימת התהליכים הרצים ב shell הנוכחי  (היא ניגשת ל /proc – פרטים בהמשך) ps –a, ps –u kill, kill -9 - משתמש יכול להרוג רק תהליכים שלו  root יכול להרוג תהליכים של כולם הפקודה sbin/fuser/ - רשימת התהליכים שמחזיקים את הקובץ פתוח כרגע הפקודה usr/sbin/lsof/ - רשימת הקבצים הפתוחים כרגע ע"י תהליך נתון

8 מערכות הפעלה - תרגול 158 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו הרשאות מיוחדות – suid לכל קובץ קיים ביט הרשאה נוסף – set user-id bit כשהוא דלוק עבור קובץ הרצה אזי:  כשמשתמש יריץ אותו – התהליך שירוץ יקבל את ההרשאות של בעל הקובץ ולא את ההרשאות של המשתמש שהריץ את הקובץ  suid מאפשר לתת למשתמש גישה זמנית לקבצים שבד"כ אין לו גישה אליהם  שימוש טיפוסי: התוכנית passwd, שמשנה סיסמא של המשתמש צריכה לגשת לקובץ /etc/passwd לכתיבה. למשתמש רגיל כמובן אסור לגשת לקובץ /etc/passwd קובץ של התוכנית passwd שייך לroot ול root מותר גם לגשת לקובץ /etc/passwd suid bit של התוכנית passwd דלוק כשמשתמש מריץ את התוכנית passwd – התהליך שמריץ את תוכנית מקבל באופן זמני את כל הרשאות הגישה של rootולכן יכול לגשת ל /etc/passwd

9 מערכות הפעלה - תרגול 159 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו מציאת קבצים משתנה סביבה PATH – רשימת הספריות בהן יש לחפשexecutables בעת הרצה  הפקודה which - היכן בדיוק ממוקם executable שהספריה שלו מפורטת בpath אם קובץ ההרצה לא ב path או סתם כדי למצוא קובץ במערכת הקבצים:  find – סורק את מערכת הקבצים (איטי אבל תמיד נכון)  locate – מחפש במסד נתונים (מהיר אבל יכול לטעות) updatedb – מעדכן את מסד הנתונים (רץ ברקע כל פרק זמן מסוים)

10 מערכות הפעלה - תרגול 1510 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו System Monitoring - topמציגה את הסטטסיטיקות לגב ביצועי המערכת  כמות התהליכים  CPU usage  תפוסת זכרון פיזי ו swap  תהליכים שצורכים הכי הרבה זמן CPU iostat – מידע על ביצועי IO של הדיסק df -h – מידע על הדיסקים (כל ה mounted disks) du -h – גודל הספריות והקבצים (du -hs - סיכום) quota –v – גודל הדיסק המרבי המוקצה עבור המשתמש w – כל המשתשים שכרגע logged-in והפקודה שהם מריצים

11 מערכות הפעלה - תרגול 1511 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו תקשורת - פקודות שימושיות ifconfig – מידע על כל כרטיסי התקשורת במחשב (interfaces)  כתובת IP, כתובת MAC (כתובת פיזית)  בעזרת פקודה זו ניתן גם לקנפג את ה interface - למשל להגדיר כתובת IP חדשה hostname – שם המחשב netstat – מציג את מצב הinterfaces  Open TCP connections

12 מערכות הפעלה - תרגול 1512 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו strace – System Call Tracer אילו קריאות מערכת מופעלות בעת ביצוע התוכנית הבאה? #include int main(void) { printf("Hello, world!"); return 0; } אילו קריאות מערכת מופעלות ע"י תוכנית X בהינתן קובץ הרצה של X בלבד? מהם הפרמטרים של הקריאות האלו? מהו ערך החזרה? האם הם הצליחו? מהו errno לאחר החזרה? מהי המחרוזת הסימבולית המתאימה ל- errno ?

13 מערכות הפעלה - תרגול 1513 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו strace (2) 1. execve("./a", ["./a"], [/* 36 vars */]) = 0 2. uname({sys="Linux", node="csd",...}) = 0 3. brk(0) = 0x501000 4. [...] 5. open("/lib64/tls/libc.so.6", O_RDONLY) = 3 6. read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\322"..., 640) = 640 7. fstat(3, {st_mode=S_IFREG|0755, st_size=1669728,...}) = 0 8. mmap(NULL, 2376040, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x2a9568c000 9. mmap(0x2a958c7000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x13b000) = 0x2a958c7000 10. mmap(0x2a958cc000, 16744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0)=0x2a958cc000 11. close(3) = 0 12. write(1, "Hello, world!", 13Hello, world!) = 13 13. exit(0) = ?

14 מערכות הפעלה - תרגול 1514 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו strace (3) שורה 1 מופעלת ע"י strace עצמו והיא מפעילה את ה-loader של המערכת (בד"כ /lib/ld-linux.so.2) על מנת להריץ את הקובץ שורות 2-11 מבוצעות ע"י ה- loader  2 – בדיקת סוג המערכת (ארכיטקטורה, גרסת גרעין,...)  3 – קביעת גודל ה-heap הנוכחי  4 – חיפוש הספריה הסטנדרטית (libc) במדריכים שונים  5 – פתיחת הספריה עם fd = 3  6 – קריאת ה-header של הקובץ כדי לגלות היכן בקובץ נמצא הקוד, הנתונים וכו'  7 – מציאת גודל הקובץ  8-10 – מיפוי code, data and bss sections של הספריה למרחב הזכרון של התהליך שורות 11-13 מבוצעות ע"י התכנית עצמה  11 – סגירת הקובץ (אין בו יותר צורך כי כל החלקים הנדרשים מופו לזכרון)  12 – printf קורא ל-write על fd=1 (תזכורת: גם עם היה output redirection)  13 – סיום התהליך

15 מערכות הפעלה - תרגול 1515 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו /proc virtual filesystem מורכבת (mounted) בזמן עלית המערכת בספריה/proc אינה מחוברת לאף התקן פיזי  קיימת אך ורק בזיכרון  קריאה מקובץ גורמת להפעלת פונקציה בגרעין אשר מספקת on-the-fly את תוכן הקובץ  כתיבה לקובץ מאפשרת לשנות פרמטרים מסויימים של הגרעין לכן, לרוב רק ל- root יש הרשאת כתיבה

16 מערכות הפעלה - תרגול 1516 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו /proc (2) 2 חלקים עיקריים:  ספריה לכל תהליך במערכת שם הספריה הוא ה-PID של התהליך /proc/self הוא קישור סימבולי לספריה של התהליך הנוכחי תוכן הספריה :  cmdline – שורת הפקודה איתה הופעל התהליך (קובץ הרצה + ארגומנטים)  cwd – קישור סימבולי לספרית העבודה הנוכחית של התהליך  environ – משתני סביבה של התהליך (environment variables)  exe - קישור סימבולי לקובץ ההרצה של התהליך  fd – ספריה המכילה קישורים סימבוליים לקבצים הפתוחים של התהליך  maps – כתובות והרשאות של מיפויים של קבצים לתוך מרחב הזיכרון של התהליך  stat, statm, status – קבצי סטטוס וסטטיסטיקה לגבי התהליך

17 מערכות הפעלה - תרגול 1517 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו /proc (3) פרט לספריות הקשורות לתהליכים, /proc מכילה קבצים שונים  cmdline – הפרמטרים של הגרעין בעת העליה בין היתר מכיל את שם ההתקן שבו נמצא ה-root filesystem  cpuinfo – מכיל אינפורמציה על כל מעבד במערכת יצרן, תדירות, גודל מטמון,...  filesystems – מכיל את כל סוגי מערכות הקבצים הנתמכות ע"י הגרעין ext2, ext3, vfat, tmpfs, proc, nfs, ntfs, iso9660, udf,...  interrupts – מכיל את רשימת ה-IRQs במערכת ואת כמות הפסיקות שטופלו ע"י כל מעבד מכל סוג  loadavg – 3 מספרים המודדים את עומס המערכת בדקה, 5 דקות ו-15 דקות האחרונות  meminfo – מכיל אינפורמציה לגבי הזיכרון הפיזי וה-swap (סה"כ במערכת, זיכרון פנוי,...)

18 מערכות הפעלה - תרגול 1518 (c) 2006 לאוניד רסקין, גבי קליאוט, אלכס לנדאו /proc (4) קבצים נוספים  modules – דרייברים שנטענו אל הגרעין  mounts – רשימת מערכות הקבצים שהורכבו  uptime – זמן מעליית המערכת  version – גרסת הגרעין


Download ppt "מערכות הפעלה חומר נוסף לתרגולים – אדמיניסטרציה ושימוש מתקדם ב Linux."

Similar presentations


Ads by Google