לדלג לתוכן

שיעור 08: Terminal, launchd & Background Processes - Hands-On Lab (Asset D)

במעבדה זו תעשו היכרות מעשית עם העולם שמאחורי הממשק הגרפי. נבחן את מבנה הקבצים האחראים על שירותי מערכת, נתחקר קבצי תצורה של המק (Plists), ונשתמש ב-Activity Monitor ובלוגים כדי לעקוב אחר צריכת הזיכרון האמיתית ופעילות סוכן ה-MDM המובנה.

הערה חשובה: בחלק מהפעולות בסביבת המעבדה תדרשו להזין את סיסמת המשתמש שלכם לאישור פעולות פריבילגיות (sudo). שימו לב שכאשר אתם מקלידים את הסיסמה בטרמינל לא מופיעות כוכביות, אך המערכת קולטת את ההקלדה.


חלק 1: ניתוח משאבים בעזרת Activity Monitor

  1. פתחו את האפליקציה Activity Monitor (תוכלו למצוא אותה בתיקיית Applications/Utilities, או דרך חיפוש ב-Spotlight על ידי הקשת Cmd+Space).
  2. בחלון שנפתח, ודאו שאתם בלשונית ה-CPU. מצאו תהליך ברשימה (אפשר גם תהליך של אפליקציה שידוע שפועלת, כמו Safari או Terminal).
  3. לחצו עליו לחיצה כפולה. חלון חדש יציג את הנתונים הטכניים: זיכרון, עמודים שהוקצו ותהליך ההורה (Parent Process). אתם תראו שעבור רוב מוחלט של האפליקציות המרכזיות תהליך ההורה הוא launchd (1). סגרו את חלון המידע.
  4. עבורו ללשונית Memory.
  5. שימו לב לתחתית המסך לגרף Memory Pressure.
  6. מה צבעו? (ירוק, צהוב, או אדום).
  7. הסתכלו על הנתון Swap Used. כמה מקום תופס ה-Swap? אם הנתון הוא 0 בייטים או קרוב לזה, המחשב שלכם מנהל את הזיכרון ביעילות מעולה ללא צורך בכתיבה לכונן הקשיח.

חלק 2: חקירת קבצי תצורה (Plists) ושימוש בטרמינל

  1. פתחו את ה-Terminal.
  2. הריצו את הפקודה הבאה לניווט לתיקיית העדפות המערכת המובנות: cd /Library/Preferences
  3. הריצו את הפקודה המציגה את הקבצים עם הרשאות מורחבות: ls -la שימו לב שכמעט כל קבצי ההגדרות מסתיימים בסיומת .plist.
  4. בואו ננסה לבדוק את קובץ התצורה של חיבור המערכת למסכי לוגין. הקלידו: plutil -p com.apple.loginwindow.plist פקודה זו עוקפת את הצפנת הקובץ הבינארי ומדפיסה את התוכן למסך באופן קריא. תוכלו לראות ערכים מוגדרים (כמו האם המערכת תציג רשימת משתמשים או שורת שם וסיסמה במסך ההתחברות).
  5. בואו נבדוק האם לקובץ מסוים יש פגם תחבירי (Syntax Error). הקלידו: plutil -lint com.apple.loginwindow.plist אם הקובץ תקין, המערכת תחזיר לכם את ההודעה OK.

חלק 3: ניהול סוכני מערכת (LaunchDaemons) עם launchctl

בחלק זה נבדוק כיצד launchd מנהל את התהליכים במערכת בעזרת הכלי launchctl.

  1. בחלון הטרמינל, בואו נבקש הדפסה של כל ה-Daemons הרצים כעת ברמת המערכת. (נדרש sudo מכיוון שמדובר בשירותי תשתית): sudo launchctl print system (הזינו את הסיסמה שלכם). במסך ירוץ פלט ארוך מאוד. תוכלו לגלול למעלה ולראות רשימה שמית של שירותים, לצידם מספרי ה-PID שלהם (אם הם רצים כעת) או קודי שגיאה וסטטוס השהייה (אם הם ממתינים).
  2. פתחו חלון Finder חדש, ונווטו אל תיקיית הצד-שלישי של ה-Daemons: בתפריט העליון לחצו Go > Go to Folder... (או הקישו Cmd+Shift+G). הקלידו: /Library/LaunchDaemons ולחצו Enter.
  3. כאן שוכנים הסוכנים של חברות כמו Microsoft, Jamf, או תוכנות אבטחה. (אם התיקייה ריקה, זה סימן שאין למחשב שלכם שירותי מערכת צד-שלישי המותקנים אצלו. הציצו בנתיב המערכתי הנעול /System/Library/LaunchDaemons כדי לראות אלפי פריטים של אפל).

חלק 4: תצפית אל תוך סוכן ה-MDM (mdmclient)

  1. פתחו את אפליקציית Console (מתוך Applications/Utilities).
  2. בשורת החיפוש בפינה הימנית העליונה, הקלידו את המילה mdmclient ולחצו Enter.
  3. שימו לב שאפליקציית Console מסננת כעת רק פעילויות הקשורות לסוכן ה-MDM של מערכת ההפעלה.
  4. השאירו את ה-Console פתוח בצד המסך.
  5. פתחו את הגדרות המערכת (System Settings) ונווטו ל-Privacy & Security > Profiles.
  6. (אם יש לכם פרופיל MDM כלשהו המותקן במחשב, כניסה לאזור זה גורמת למערכת לתשאל את ה-mdmclient).
  7. הסתכלו בחלון ה-Console. שימו לב לשורות החדשות שקופצות ברקע בזמן אמת, המעידות על איסוף מידע או ניסיון תקשורת. במקרה של בעיות רשת בארגון, כאן נאתר שגיאות התחברות (למשל תעודות SSL חסומות או ניסיון חיבור שנכשל).
  8. סגרו את כל האפליקציות. המעבדה הושלמה!