לדלג לתוכן

שיעור 06 - חלק ב\': מדריך העברה למרצה

1. מהפיכת APFS

1. Objective

הסטודנטים יבינו את הארכיטקטורה של APFS, בדגש על היתרונות של מכולות (Containers) ושיתוף מקום פנוי, וכיצד היא מחליפה את שיטות ה-Partitioning הישנות.

2. Discussion (Script)

  • זיכרון העבר (Partitions):
  • בעבר חילקנו דיסק קשיח למחיצות קשיחות.
  • הוקצה מקום מוגדר מראש לכל מחיצה.
  • טעות בהערכה דרשה גיבוי, מחיקה והתחלה מחדש.
  • סיוט מוחלט לטכנאים!
  • המהפכה של APFS (2017):
  • החלפת מחיצות קשיחות ב-Containers (מכולות).
  • המכולה: בריכה ענקית של מקום אחסון.
  • ה-Volumes (כרכים): שוחים בתוך המכולה.
  • גדילה וכיווץ דינמיים לפי הצורך.
  • כל הכרכים חולקים בדיוק את אותו המקום הפנוי.
  • מותאם לכונני פלאש ו-SSD:
  • נבנה מהיסוד עבור טכנולוגיות אלו.
  • מציג טכניקה גאונית: Copy-on-Write.
  • איך Copy-on-Write עובד?
  • שכפול קובץ של 10GB לוקח שבריר שנייה.
  • הוא לא תופס עוד 10GB בדיסק!
  • המערכת יוצרת מצביע חדש למידע הקיים.
  • מקום חדש נתפס רק כאשר אחד מהעותקים משתנה.

3. Demonstration

  • Terminal:
  • פתחו Terminal והקלידו diskutil list.
  • הצביעו על ה-Container הראשי (למשל disk3).
  • הראו את הכרכים תחתיו:
    • System
    • Data
    • Preboot
    • Recovery
    • VM
  • הדגישו: כל הכרכים חולקים את ה-Capacity של ה-Container.
  • Disk Utility:
  • הציגו יצירת Volume חדש בלחיצת כפתור (+).
  • הדגישו את מהירות התהליך לעומת Partitioning קלאסי.

4. Instructor Deep-Dive

העמקה למדריך: APFS Copy-on-Write & fsck * **הבעיה ב-HFS+:** * שמירת שינויים מחקה נתונים ישנים וכתבה עליהם. * הפסקת חשמל גרמה להשחתת מידע (Data Corruption). * **הפתרון ב-APFS (Copy-on-Write):** * כתיבת המידע החדש מתבצעת לבלוק פנוי. * רק בסיום הכתיבה - מתעדכן מצביע המטא-דאטה. * **התאוששות מקריסה:** * ה-`fsck_apfs` ב-Boot הבא פשוט ומהיר יותר (לעומת HFS+). * המערכת רק מוחקת בלוקים "יתומים" שכתיבתם לא הושלמה. * **נקודה לתשומת לב:** * בכוננים ישנים/חיצוניים תקולים, `fsck_apfs` עדיין עשוי לקחת זמן רב.

2. הפרדת המערכת (SSV)

1. Objective

הסטודנטים ילמדו על הפרדת מחיצת המערכת ממחיצת המידע ב-macOS, מנגנון ה-SSV (Signed System Volume) ותפקידם של ה-Firmlinks ביצירת חוויית משתמש אחידה.

2. Discussion (Script)

  • ההיסטוריה (Macintosh HD):
  • קבצי מערכת ומשתמש חיו יחד באותו כונן.
  • נוח, אבל סיוט לאבטחה!
  • וירוסים או טכנאים עם הרשאות Root יכלו להרוס קבצים קריטיים.
  • השינוי (Catalina / Big Sur):
  • פיצול המערכת לשניים: System Volume ו-Data Volume.
  • System Volume (כונן המערכת):
    • נעול הרמטית.
    • קריאה-בלבד (Read-Only).
    • חתום קריפטוגרפית (SSV).
    • אף אחד (כולל Root ווירוסים) לא יכול לכתוב אליו.
  • הקסם של Firmlinks:
  • ב-Finder רואים כונן אחד בזכות "חורי תולעת" - Firmlinks.
  • תופרים את שתי המחיצות יחד לחוויה אחידה.
  • דוגמה: תיקיית ה-Applications היא שילוב של:
    • אפליקציות מה-System.
    • אפליקציות שהותקנו על ה-Data.
  • ה-Firmlink מחבר הכל מאחורי הקלעים.

3. Demonstration

  • הצגת מחיצות ב-Terminal:
  • הקישו mount.
  • הצביעו על שורת ה-/ (ה-System) וציינו שהיא read-only.
  • הצביעו על השורה /System/Volumes/Data וציינו שהיא פתוחה לכתיבה.
  • הדגמת חסימת כתיבה:
  • נסו ליצור קובץ טקסט ב-Root על ידי הרצת: sudo touch /test.txt.
  • הראו את הודעת השגיאה: "Read-only file system".
  • חשיפת ה-Firmlinks:
  • הריצו cat /usr/share/firmlinks.
  • הראו את רשימת הנתיבים שתפורים יחד במערכת.

4. Instructor Deep-Dive

העמקה למדריך: Secure Boot ו-SVG * **Boot מתוך Snapshot:** * ה-SSV מגדיר ש-macOS עולה מ-Snapshot, לא מהקבצים החיים. * **אימות בזמן הדלקה (Secure Boot):** * ה-Bootloader מוודא את החתימה הקריפטוגרפית (Merkle Tree). * שינוי של בייט בודד? ה-Mac יסרב לעלות. * המחשב ידרוש התקנה מחדש או ביצוע של Update. * **עדכון מערכת (Update):** * הזמן היחיד שבו Apple מחליפה את תמונת ה-SSV. * **המעטפת הלוגית (SVG):** * שני הכרכים (System ו-Data) עטופים יחד ב-System Volume Group (SVG).

3. מרחבי מערכת הקבצים (File System Domains)

1. Objective

הסטודנטים יבינו את החלוקה הווירטואלית של מערכת הקבצים למרחבים (User, Local, Network, System) וידעו כיצד לאתר קבצי העדפות ומשאבים בהתאם להרשאות הגישה.

2. Discussion (Script)

  • למה צריך מרחבים?
  • דמיינו בניין משרדים: יש את המשרד האישי שלכם, הלובי המשותף, וחדר השרתים הנעול.
  • המטרה: סדר והפרדת הרשאות בסיסית.
  • ארבעת המרחבים העיקריים:
  • User Domain (המרחב האישי):
    • מזוהה על ידי סימן הטילדה (~).
    • הבית שלכם (Desktop, Documents, Preferences).
    • מותר לכם לעשות שם הכל בלי סיסמת אדמין.
  • Local Domain (המרחב המשותף לכולם):
    • זמין לכל מי שמשתמש במחשב הזה.
    • תיקיית /Applications ותיקיית /Library.
    • דורש סיסמת מנהל לשינויים.
  • Network Domain (מרחב הרשת):
    • שרתי קבצים ארגוניים המחוברים ל-Mac.
  • System Domain (מרחב הליבה של המערכת):
    • תיקיית /System של Apple.
    • כאן נמצא ה-SSV הנעול שעליו דיברנו. אין כניסה לאף אחד!
  • פתרון בעיות מעשי ביומיום:
  • אם התקנתם פונט למעצבת, והיא מתלוננת שחברה שלה לא רואה את הפונט כשהיא נכנסת למשתמש שלה באותו מק.
  • הסיבה ברורה: הפונט הותקן במשרד האישי (User Domain) ולא בלובי המשותף (Local Domain). העבירו את הקובץ.

3. Demonstration

  • ניווט מהיר עם Tilde:
  • פתחו טרמינל והדגימו כיצד cd ~ זורק את המשתמש ישירות הביתה מכל מקום.
  • הראו את ההבדל ב-Finder בין נתיב ~/Library (המוסתר כברירת מחדל) לבין נתיב /Library (הכללי).

4. Instructor Deep-Dive

העמקה למדריך: סדר קדימויות הקריאה של המערכת * **סדר קריאת המשאבים (Domains Search Order):** * כשאפליקציה ב-macOS מחפשת פונט או קובץ העדפות, היא פועלת לפי סדר ברזל. * היא תמיד מחפשת קודם כל ב-User Domain. * אם לא נמצא – עוברת ל-Local Domain. * ולבסוף – אם זה משאב מערכת – ל-System Domain. * מנגנון זה מאפשר למשתמש אישי *לדרוס* הגדרה גלובלית עם קובץ הגדרה פרטי שלו, מבלי לדרוס או למחוק את הקובץ של כולם!

4. מנוע החיפוש Spotlight

1. Objective

הסטודנטים יבינו את מנגנון הקיטלוג של Spotlight, אילו תהליכים מניעים אותו ברקע, וידעו כיצד לפתור בעיות אינדוקס ותצוגת שטח פנוי פגומה בעזרת Terminal (mdutil/diskutil).

2. Discussion (Script)

  • עוצמת ה-Spotlight:
  • המנוע החזק ביותר במערכת!
  • מעבר לחיפוש קבצים: מניע חיפושי Mail, Finder.
  • אחראי גם על תצוגת "המקום הפנוי בדיסק".
  • איך זה עובד כל כך מהר?
  • לא סורק את הדיסק בזמן אמת.
  • בונה אינדקס (קטלוג) עצום ברקע.
  • תהליך השמירה:
    • שמירת קובץ מפעילה תהליך בשם mdworker.
    • הוא קורא אותו דרך פלאגין (mdimporter).
    • התוכן נשמר במסד הנתונים הסמוי .Spotlight-V100.
  • כשהמסד נפגם - התקלות:
  • קבצים חסרים בחיפוש.
  • תצוגת נפח שגויה (למשל: מאות ג'יגה של "System Data" פיקטיבי).
  • הפתרון:
  • פקודת Terminal אחת מוחקת את האינדקס הישן.
  • המערכת נאלצת לבנות את האינדקס מחדש.

3. Demonstration

  • זיהוי תהליכים (Activity Monitor):
  • הראו תהליכים עם הקידומת md:
    • mds
    • mds_stores
    • mdworker
  • מחיקת אינדקס מהגדרות המערכת:
  • נווטו אל System Settings > Spotlight > Search Privacy.
  • הדגימו: הוספת והסרת כונן ה-Macintosh HD מכריחה מחיקת אינדקס.
  • הצגת סטטוס אינדקס (Terminal):
  • הריצו sudo mdutil -s /.
  • הראו שהאינדקס אכן מופעל (דולק).
  • הסבר על הפקודה sudo mdutil -E /:
  • הערה למדריך: עדיף לא להריץ בשיעור כדי לא לתקוע את המחשב.
  • הסבירו שזו פקודת "הישועה".
  • פותרת תקלות אינדקס ותצוגת Storage שגויה לחלוטין.

4. Instructor Deep-Dive

העמקה למדריך: Spotlight Live Text & Runaway Indexing * **סריקה מתקדמת (Live Text):** * מגרסאות עדכניות (כולל Sequoia): Spotlight סורק מעבר לטקסט. * שימוש ב-`photoanalysisd` לקריאת תוכן מתוך תמונות. * **צריכת משאבים:** * דורש כוח CPU משמעותי. * מופנה לרוב לליבות החסכוניות (E-cores) במעבדי Apple Silicon. * **תהליך ממושך (Runaway Indexing):** * אחרי עדכון גרסה או חיבור כונן ענק - התהליך עשוי לקחת ימים! * **המלצה:** להניח למחשב לסיים את העבודה. * הפסקת התהליך רק מעכבת את הסיום.

5. תיבול ארגוני

1. Objective

הסטודנטים יבינו את ההשפעה הדרמטית של APFS ו-SSV על כלי ניהול צד-שלישי ואנטי-וירוסים בארגון, ואת השינוי בפרדיגמת האבטחה הארגונית.

2. Discussion (Script)

  • חוקי המשחק בארגון (פעם):
  • אנטי-וירוס כבד סרק את כל התיקיות במערכת.
  • כלי MDM יכלו לדרוס הגדרות מערכת בוטות.
  • השינוי של היום (הודות ל-SSV):
  • כלי ניהול ואנטי-וירוסים מנועים מלגעת ב-System Volume.
  • אין להם גישת כתיבה; המערכת פשוט חוסמת אותם.
  • יעילות סריקת אנטי-וירוס היום:
  • כיום יש לסרוק אך ורק את מחיצת ה-Data!
  • סריקת ה-System היא בזבוז משאבים (היא קריאה בלבד וחסינה בזכות ה-Secure Boot).
  • תפקיד הטכנאי:
  • לוודא שכלי ההפצה והסקריפטים תואמים לארכיטקטורה המודרנית.
  • הבנה וניווט נכון של Firmlinks.
  • למנוע מהכלים לנסות לבצע פעולות בלתי אפשריות.

3. Demonstration

  • החרגת נתיבים במערכת האבטחה:
  • (אם מותקנת תוכנת אבטחה ארגונית כגון Defender)
  • הציגו את פנל ההגדרות או המדיניות (Policy) ב-MDM.
  • הסבירו כיצד להחריג (Exclude) נתיבים של מחיצת המערכת.
  • אימות סטטוס ה-SSV (Terminal):
  • הריצו: csrutil authenticated-root status.
  • הראו שהתשובה היא enabled.
  • פעולה זו מאשרת לאנשי ה-IT שה-SSV חתום ופעיל ללא התערבות.

4. Instructor Deep-Dive

העמקה למדריך: MDM & Legacy Agents * **האתגר: תוכנות וסקריפטים Legacy:** * סקריפט המנסה לכתוב ל-`/usr/bin` יקרוס מיד עם שגיאה (שייך ל-SSV). * הכתובת הנכונה היא `/usr/local/bin`. * **סכנת תוכנות DLP ישנות:** * כניסה ללולאת סריקה דרך Firmlinks עלולה לגרום לקריסה. * במקרים חמורים – תוביל ל-Kernel Panic עקיף. * **שורה תחתונה:** * תקלות רבות של כלי צד-שלישי אינן "באגים" של macOS! * מדובר באכיפה קשוחה של נתיבים והרשאות על ידי מנגנוני ה-SVG/SSV.