
man -k ו-man selinux מוצאים את המידע על קובץ ההגדרות./etc/selinux/config מכיל את השורה SELINUX=. יש שלושה ערכים: enforcing (אכיפה פעילה), permissive (רק רישום של הפרות ביומן, והגישה מותרת) ו-disabled (המדיניות כבויה).getenforce מציג את המצב הנוכחי. setenforce עובר בין enforcing ל-permissive לזמן ההרצה בלבד. שינוי בקובץ ההגדרות נשמר לאחר ריבוט. מעבר ממצב disabled למצב פעיל דורש סריקה מחדש של התוויות בכל מערכת הקבצים, והתהליך עלול להימשך דקות רבות.cp רגילה, התווית לא מתאימה, ו-Apache מקבל forbidden.setenforce 0 מוכיח שהבעיה נובעת מ-SELinux, כי כשהאכיפה כבויה הגישה מותרת. לאחר מכן restorecon משחזר את התווית הנכונה לקובץ, והגישה חוזרת עם SELinux פעיל. הפקודה cp --preserve=context שומרת את התווית בזמן ההעתקה.ls -lZ מציגה את התווית של כל קובץ.מבנה ושמות דיסקים ומחיצות בלינוקס:

הטקסט המלא של הדקות הראשונות בהרצאה «שאלה מתוך הבחינה על SELinux» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אוקיי, שאלה ראשונה בנושא SE-Linux מתוך מבחן ההסמכה. היא בעצם מבקשת לקנפק את SE-Linux למצב של Enforcing, עובד.
אז בואו נראה איך אנחנו מתרגלים את זה. אקח את המערכת שעדכנתי אותה, ואני בעצם אעשה לה שמור את המצב שלה כדי לשמור אותה לתרגילים הבאים.
אני אתן לזה שם, After Install. עכשיו אני אכנס למערכת ובעצם כרגע המצב של ה-SE-Linux כמו שהמערכת מגיעה לאחר ההתקנה הוא מצב של Enforcing.
כלומר כדי לתרגל את התרגיל אני קודם כל צריך לבטל אותו וכדי לעשות את זה יש לי בעצם שתי אפשרויות אני יכול לבטל אותו בצורה מיידית ואני יכול לבטל אותו בצורה כזאתי שיישמר לריבוט הבא אז אני כמובן מעוניין כרגע לבטל אותו בצורה כזאתי שישמר לריבוט הבא אוקיי אז איך אני יכול למצוא את המידע הזה נגיד ואני לא זוכר מה אני צריך לעשות וכדומה אז פה אני אשתמש
בריסורס של man man-k ואני אכתוב se-linux ובעצם כאן הוא מריץ לי שורה של אפשרויות מן על se-linux ואני רואה בעצם את הראשון והבסיסי ואני יכול להיכנס לתוכו לעשות מן se-linux ובעצם כבר כאן אני רואה איפה נמצא קובץ הקונפיגורציה etc.se-linux-config.
אני אצא מאמן ואני אכנס לקובץ. vitc se-linux-config זה די פשוט יש לי כאן שורה אחת שאומרת se-linux שווה enforcing זה בעצם המצב של ה-se-linux ויש לו עוד בעצם שתי מצבים אפשריים אפשרות מספר שתיים היא אפשרות הפרמיסיב שבאפשרות הזאתי ה-se-linux הוא בעצם יתריע על כל מיני בעיות במוסד.
אבל לא ימנע אותם ומצב של disabled שבו בעצם כל מערך ה-SE-Linux לא יתאפשר. ובנוסף יש לי פה עוד הגדרות של policy שאלה כבר הגדרות יותר פנימיות של-SE-Linux עד כמה ובאיזה צורה ה-SE-Linux יעשה את האכיפה.
אז בעצם מה שאני אעשה עכשיו, אני בעצם אשנה את זה מאנפורסינג לפרמיסיב, אשמור את הקובץ הזה, ואני לא מצליח לשמור אותו כי אני צריך להיות רוד בשביל לעשות את הפעולה הזאת.
אז אני אחץ על q עם סימן קריאה שיתעלם מהשינויים, ואני אעבור לרוד. עברתי לרוד, ועכשיו אני אערוך את הקובץ ואשנה פה מאנפורסינג לפרמיסיב.
לשמור את הקובץ, עכשיו איך בודקים במערכת אם במצב הנתון ה-se-linux רץ? יש לי את הפקודה get enforce והיא כרגע מחזירה לי את הסטטוס של enforcing.
עכשיו אני אעשה ריבוט למערכת ונראה איך המערכת תעלה. המערכת עולה יחסית מהר כי מדובר על מחשב עם קונן ssd ואגב כל מי שמתכונן ועושה הרבה שינויים, אני ממליץ לעבוד על מערכת שיש לה SSD בדיוק בשביל המצבים האלה כדי לזרז בצורה מאוד משמעותית את זמני העלייה והעבודה
של המערכת בזמן התרגולים. אוקיי, נכנס למשתמש שלנו, תחת טרמינל, Get Enforce, אני רואה שזה השתנה למצב של Permissive.
עכשיו, יש עוד מצב של SE-Linux שנקרא Disable, והמצב הזה vitc.se.linux.config. ובמצב הזה הפוליסה היא לא טעונה לחלוטין.
ושימו לב, אני אחליף עכשיו את ה-se.linux ל-disabled, ואני עוד פעם אעשה ריבוט למערכת. אני אזרז קצת את התהליך בעזרת קסמי הוידאו, ועכשיו המערכת בעצם נטענת לחלוטין ללא ה-se.linux.
המערכת תעבוד קצת יותר מהר כי לקרנל יש פחות מידע לאבד ולבדוק אותו, וכמובן שה-Security Feature של ה-SE Linux לא יהיו זמינים לחלוטין. עכשיו, מה שמעניין במצב כזה זה שאם אני ארצה אחרי זה לחזור ממצב של Disabled למצב של Permissive, המערכת תצטרך לעבור איזשהו תהליך ואנחנו תכף נראה בדיוק במה מדובר.
בוא נעשה רגע get enforce. עכשיו אני רואה שהוא disabled ועכשיו בעצם אני רוצה להפעיל אותו למצב permissive והעניין הוא שבין מצב של שהוא מבוטל לחלוטין למצב שהוא פעיל אך עדיין מאפשר גישה אלא רק מתריע, בין המצבים האלה, כלומר עכשיו כשהמערכת היא Disabled יכלו להיות כל מיני שינויים לפוליסה
של ה-SE Linux וכל מיני שינויים להגדרות של הקבצים במערכת. ולכן כאשר אני אפעיל עכשיו את ה-SE Linux למצב של פעיל, המערכת תצטרך לסרוק כל מיני דברים בדיסק כדי שבאמת היא תוכל לאכוף את הפוליסה.
אז אני עושה sudo כדי לעבור ל-root, vietc se-linux-config, ואני אחליף כאן את המצב בחזרה ל-permissive, ואני אעשה ריבוט.
ריבוט למערכת, ושימו לב, עכשיו למערכת ייקח לה קצת יותר זמן לעלות. בואו נראה אם זה יוצג לנו בטרמינל. מערכת מתחילה להיטען, והנה אני רואה כאן הודעה שאומרת se-linux, target policy relabel is required, ועכשיו בעצם המערכת היא מכינה את עצמה לחזור לעבוד עם SE Linux.
ואיזה תהליך שייקח כמה דקות, אני כמובן אזרז אותו מעט. הנה התהליך מתחיל לרוץ ואני יכול לראות את האחוזים למטה. בעצם המערכת סורקת את כל הדיסק ובעצם משווה בין הפוליסי המקורי שהיא מכירה לבין מה שקיים בפועל על מערכות הקבצים.
כלומר, אם בזמן ההסמכה, נגיד, אתם תשנו את המצב ותראו שהמערכת פתאום לא עולה או לוקח לה עוד יותר זמן לעלות, שימו לב שזה בהחלט יכול להיות בגלל מצב שצריך לעשות בעצם רילייבלינג ולבדוק האם המערכת תואמת את הפוליסה, אוקיי?
והנה התהליך כבר לקראת סיום ותכף המערכת תתחיל לעלות. בעצם הנה ריבוט וכבר המערכת תעלה עם SE-Linux חדש.
אוקיי, הנה אני עושה לוגין, פותח טרמינל, גט אינפורס, חזרנו למצב פרמיסיב. וכרגע נוכל בעצם להשלים את המשימה שלנו, לחזור למצב של אינפורסינג ואם אנחנו עם משתמש רגיל אז אנחנו נצטרך להשתמש בסודו אם אנחנו ברות יכולים לעשות את זה וי-איי סודו וי-איי ETC סיס קונפיג לא סיס למה סיס קונפיג ETCSE לינוקס קונפיג סיסמה ואני משנה כאן את המצב
לאנפורסינג ומבצע ריבוט למערכת אוקיי לפני שאני אעשה ריבוט אני אראה עוד כמה דברים למשל יש את הפקודה סט אנפורס והיא בעצם משמשת לביטול או להפעלה של סי לינוקס במערכת כמובן שאני צריך להיות רוט בשביל להפעיל אותה עכשיו אני אעשה סט אנפורס לאחד אז עכשיו גט אנפורס ואני רואה שהמצב הוא באנפורסינג הפקודה הזאת היא סט אנפורס השינויים שעשיתי
בעזרתה הם לא יישמרו לריבוט הבא, כי קובץ הקונפיגורציה לא השתנה. ובעצם אני יכול לעבור בין מצב של Enforcing למצב של Permissive. מה שאני לא אוכל לעשות, אני לא אוכל לעבור ממצב של Disabled למצב של Enforcing.
בעיקר הפקודה הזאת היא טובה לעשות דיבאג למערכות, כלומר, אם עשיתי איזושהי פעולה ואני רוצה לראות אם ה-SE-Linux מפריע לפעולה הזאתי או לא מפריע לפעולה הזאת, אז אני אשתמש בזה.
ואם אני רוצה בעצם תוצאה שתיקבע במערכת אם ה-SE-Linux עובד או לא, אז אני צריך לערוך את הקובץ קונפיגורציה ולעשות ריבוט לראות גם שהמערכת עולה ומתפקדת. אוקיי, אז בואו נחזיר את זה, בואו נעשה ריבוט ובעצם נראה שאכן הצלחנו במשימה.
כן, נעשה ריבוט ואני אקצר את התהליך קצת בעזרת הוידאו. המערכת עלתה, רק נוודא שהמצב של ה-SE