PracticU

מבחן RHCE - שרת SAMBA במצב Multi User

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › מבחן RHCE - שרת SAMBA במצב Multi User
מילון מושגים:
שיתוף - תיקייה או משאב שהועמדו לרשת כדי שמשתמשים אחרים יוכלו לגשת אליהם לפי הרשאות.
SELinux - מנגנון אבטחה ב-Linux שאוכף מדיניות בקרת גישה מחמירה על תהליכים וקבצים.
SMB - פרוטוקול של Windows לשיתוף קבצים ומדפסות ברשת ולגישה למשאבים מרוחקים.
נתיב - מחרוזת שמתארת את מיקומו של קובץ או תיקייה במערכת הקבצים, או כתובת של משאב בתוך אתר.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
root - משתמש העל במערכות Linux, בעל הרשאות מלאות לכל פעולה. גם הרמה העליונה בעץ של תיקיות או נתונים.
NTLM - פרוטוקול אימות ותיק של מיקרוסופט המבוסס על ערכי האש של סיסמאות, שקדם ל-Kerberos.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.

מבחן RHCE - שרת SAMBA במצב Multi User
תרגיל הכנה ל-RHCE על שרת Samba במצב Multi User: ליצור שיתוף אחד שהמשתמש אריק יכול לקרוא ולכתוב בו ובוב רק לקרוא, ולחבר אותו דרך mount קבוע לשרת השני. זו שאלת המשך לתרגיל של Samba למשתמש אחד.
השלבים העיקריים
1. משתמשים: useradd ליצירת אריק ובוב בשתי המערכות. בשרת ה-Samba מוסיפים אותם ל-Samba עם smbpasswd -a וסיסמה לכל אחד. סיסמאות Samba הן מנגנון נפרד מסיסמאות לינוקס.
2. התיקייה: יוצרים את /team ומוסיפים הרשאת כתיבה ל-others (chmod o+w), כדי שמשתמשי Samba יוכלו לכתוב.
3. SELinux: semanage fcontext -a -t samba_share_t "/team(/.*)?" מתקין את הכלל בפוליסה, ואחריו restorecon -R /team מחיל את התווית. chcon משנה רק את ההקשר ולא את הפוליסה.
4. ההגדרה ב-smb.conf: מעתיקים דוגמה מ-smb.conf.example ומגדירים את השיתוף team עם הנתיב /team, writable = no, רשימת כתיבה לאריק ו-browseable = yes. מפעילים מחדש עם systemctl restart smb.
5. הגבלה לפי רשת: בהגדרת השיתוף מוסיפים hosts allow = 192.168.50. בבדיקה, כתובת אחרת גרמה ל-permission denied.
6. mount קבוע: בשרת השני יוצרים /mnt/dev ורושמים ב-/etc/fstab שורה עם //system1/team, סוג cifs והאפשרויות multiuser, username=bob, password, sec=ntlmssp, ובסוף 0 0. mount -a בודק שהכול עולה.
7. כניסה פר משתמש: עם multiuser כל משתמש צריך לספק את הפרטים שלו עם cifscreds add -u <user> system1. אחרי זה בוב קורא בלבד ואריק גם כותב, והקבצים שאריק יוצר שייכים לו.
8. קובץ credentials: כדי לא לשמור סיסמה גלויה ב-fstab, יוצרים קובץ עם שורות username ו-password בתיקיית הבית של root, ובשורת ה-fstab מציינים cred=/root/smb.cred. משתמש רגיל יכול לקרוא את /etc/fstab, אבל לא את הקובץ ב-root.
פקודות והגדרות
- smbpasswd -a, semanage fcontext, restorecon
- smbclient -L system1 -U bob לבדיקת הרשימה
- man mount.cifs לאפשרויות כמו sec ו-credentials
שימו לב
1. כתיבת ntlm במקום ntlmssp ב-fstab גרמה לשגיאה.
2. במבחן עצמו הדומיין יהיה מהצורה domainXX.example.com.
אחרי התרגיל תוכלו להקים שיתוף Samba עם הרשאות שונות לכל משתמש ולחבר אותו לשרת אחר.
לחץ כאן להורדת הורדת קבצי Script של לינוקס שהיו בסרטים
מילון מושגים:
דיסק - התקן לאחסון קבוע של נתונים, כמו כונן קשיח (HDD) או כונן מבוסס זיכרון מהיר (SSD).
תיקייה - מכל במערכת הקבצים שמשמש לארגון קבצים ותיקיות אחרות בתוך מבנה היררכי.
מחיצה - חלוקה לוגית של דיסק פיזי לאזורים נפרדים, שכל אחד מתפקד כאילו הוא כונן עצמאי.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.
אימות - תהליך שמוודא שהמשתמש או המערכת הם מי שהם טוענים שהם, בדרך כלל באמצעות סיסמה, קוד או תעודה.
Active Directory - שירות מדריך של מיקרוסופט לניהול מרכזי של משתמשים, מחשבים והרשאות ברשת ארגונית מבוססת דומיין.
GPO - אובייקט מדיניות קבוצתית ב-Active Directory, שמכיל הגדרות ומדיניות המוחלות על משתמשים ומחשבים.


מבנה ושמות דיסקים ומחיצות בלינוקס:


(Sda (disk0): זה הדיסק הפיזי הראשון (SATA DISK)

(Sda1,Sda2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי הראשון.

(Sdb (disk1): זה הדיסק הפיזי השני כמו בוינדוס Disk1

(Sdb1,Sdb2 (Partitions in disk): אלו הן המחיצות בתוך הדיסק הפיזי השני.

מחיצת השורש הראשונה:

וינדוס: C

לינוקס: /

מחיצות נוספות:

וינדוס: D: / E:

לינוקס: /data /example כמו תיקיות.

הערה: בתהליך ההתקנה יוצרים מחיצה נוספת לזיכרון הווירטואלי שנקראת SWAP

מטרת צירוף לינוקס לדומיין הינה לאימות משתמשים מתוך Active Directory בלבד ואין GPO  ללינוקס דרך AD.


הוכן ע"י התלמיד המצטיין: אברהים אבו שיכה

פרקי ההרצאה: מבחן RHCE - שרת SAMBA במצב Multi User

  1. 00:00

    שיתוף Samba לריבוי משתמשים

  2. 00:41

    דרישות השאלה ותיקיית Team

  3. 01:58

    יצירת המשתמשים והוספתם עם smbpasswd

  4. 03:58

    הרשאות כתיבה לתיקייה עם chmod

  5. 04:54

    תווית SELinux עם semanage fcontext

  6. 08:45

    הוספת share בשם team ל-smb.conf

  7. 11:00

    בדיקת השיתוף ממערכת 2 עם smbclient

  8. 12:31

    מונט קבוע ב-fstab עם multiuser

תמלול ההרצאה: מבחן RHCE - שרת SAMBA במצב Multi User

הטקסט המלא של הדקות הראשונות בהרצאה «מבחן RHCE - שרת SAMBA במצב Multi User» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום וברוכים הבאים לסרטון הכנה ל-RHCE. בסרטון זה אנו נעסוק בשאלה בנושא של סמבה לסביבם תרובת משתמשים. סמבה מאפשרת לשרתי לינוקס לחלוק תיקיות וקבצים עם שרתי Windows.

  2. 00:21

    אנו עסקנו בשאלה של סמבה למשתמש אחד בשאלה הקודמת, שאלה 8. זוהי שאלת המשך. לכן, כדי שתהיה לכם את התמונה המלאה, אני ממליץ לכם לראות את הסרטון בנושא שאלת סמבה עם משתמש אחד אם עוד לא ראיתם.

  3. 00:39

    אז בואו נראה מה מתבקשים מאיתנו, מה אנחנו מתבקשים לעשות בשאלה הזאת. אנחנו מבקשים ליצור תיקייה בשם Team ולחלוק אותה בעזרת סמבה על גבי מערכת אחת. שם ה-share השיתוף יהיה גם Team כמו שם התיקייה.

  4. 00:58

    התיקייה המשותפת תהיה נגישה בעצם רק למשתמשים בתוך הדומיין example.com. השאלה המשותפת, ניתן יהיה בעצם לכולם לראות קבצים בתוך התיקייה הזאת.

  5. 01:12

    המשתמש בוב יהיה לו גישה של קריאה וכתיבה לתיקייה, ומשתמש אריק יוכל גם לקרוא וגם לכתוב לתיקייה. לבוב תהיה סיסמה בוב ולאריק תהיה סיסמה אריק.

  6. 01:28

    אנחנו מתבקשים לעשות תרכוב, לעשות מונט לתיקייה הזאת באופן קבוע על סיסטם 2 תחת התיקייה mnt-dev ולהשתמש במשתמש בוב כדי לבצע את המונט על מחשב 2. אז שימו לב שאפילו שאנו נבצע את המונט תחת המשתמש של בוב אנחנו עדיין משתמשים שונים כמו אריק למשל כאשר הוא ייגש על מערכת 2 לתיקייה הזאת,

  7. 02:02

    בעצם הוא יקבל הרשאות שונות: אריק יוכל לקרוא ולכתוב, ובוב יוכל רק לקרוא מהתיקייה הזאת. קדימה, אז בואו נתחיל.

  8. 02:11

    ראשית, על שתי המערכות. אנו ניצור את המשתמשים user-ad אריק וuser-ad בוב. אותו דבר אנחנו נעשה גם על מערכת 2, user-ad אריק וuser-ad בוב.

  9. 02:27

    על מערכת 1, אנחנו נוסיף את שתי המשתמשים אריק ובוב, אנחנו נוסיף אותם למערכת הסמבה בעזרת הפקודה smb-wd. smb-wd. כמו שאתם זוכרים, במערכת הסמבה קיימת מערכת נוספת מקבילה שמנהלת את הסיסמאות למשתמשים, ולכן הסיסמאות שהמשתמשים השתמשו בהן, הן לא יהיו זהות לסיסמה של מערכת הלינוקס.

  10. 02:59

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

  11. 03:10

    אקטיב דירקטורי, למי שלא מכיר, זאת אפשרות ליצור רשומות מרכזיות עבור כל השרתים ברשת של משתמשים, סיסמאות והרשאות. ובכן, אני מוסיף smb-pass wd, נריץ מינוס h כדי לרענן את האפשרויות, ואנחנו צריכים את האפשרות מינוס a adduser ונוסיף את המשתמש אריק ונקבע לו סיסמה אריק.

  12. 03:38

    עכשיו אנחנו נוסיף את המשתמש בוב ולמשתמש בוב אנחנו נקבע לו גם סיסמה. שימו לב, אלה לא הולכות להיות הסיסמאות שיש להם בתוך מערכת הלינוקס.

  13. 03:51

    בתוך מערכת הלינוקס הסיסמאות שלהם שונות לגמרי. אפילו אנחנו עדיין לא קבענו להם סיסמה בכלל שהם יוכלו להיכנס למערכת של לינוקס. עכשיו אנחנו ניצור את התקייה המשותפת ואנחנו נוסיף, היות והיא נוצרה, אם נעשה ls-l/ אנחנו נראה שהתקייה team נוצרה תחת root ואין אפשרות כתיבה לאחרים, כלומר לקבוצה

  14. 04:19

    ולאחרים יש בעצם הרשאות כתיבה של קריאה וחיפוש בתוך התקייה. אנחנו נוסיף ככה שגם למשתמשים אחרים שהם יוכלו דרך הסמבה לכתוב לתיקייה ואנחנו נעשה בעזרת change mode, change mode o others +w לתיקייתים ובכן שינינו בואו נראה אם השינוי תפס ואנחנו רואים שכאן יש האות w הופיעה תחת others עכשיו ההרשאות

  15. 04:52

    הם rxw כלומר יש הרשאות מלאות לתיקייה הזאתי למשתמשים שהם אחרים, כלומר לא הבעלים ולא בתוך הקבוצה. עכשיו מה שאנחנו צריכים לדאוג זה לעבודה התקינה של ה-SE-Linux ולשם כך אני הולך גם לשנות את ה-content, את התווית של ה-SE-Linux שמוטבעת על התיקייה הזאת,

  16. 05:19

    שבעזרת התווית מערכת ה-SE-Linux בעצם תדע לאפשר לשרת הסמבה לתת גישה לתיקייה הזאת. מערכת ה-SE-Linux היא בעצם מחלקת את התכנים במערכת לא רק למשתמשים אלא גם לפי תוויות ועל ידי כך היא יודעת למשל שגם אם המשתמש root שתחתיו פועל השרת סמבה ניגש לתיקייה מסוימת הוא יודע האם את התיקייה הזאת מותר לשתף בעזרת

  17. 05:51

    פרוטוקול סמבה או או שאי אפשר בעצם על ידי כך שלכל קובץ במערכת מוצמדת תווית ובעזרת התווית הזאתי הפוליסה יודעת להחליט מה מותר ומה אסור לעשות עם אותו קובץ.

  18. 06:06

    אז עכשיו אנחנו הולכים לעדכן את הפוליסה ולהגיד שלתיקיה slash team אפשר בעצם היא תהיה תיקיה שהיא משותפת על ידי סמב״ם.

  19. 06:17

    אז כדי לערוך את הפוליסה אני עושה se-manage f-context מינוס a אני מוסיף משהו חדש, מינוס t וכאן את זה צריך לזכור, שם בה מקף תחתון share, מקף תחתון t כי זה טייפ, ועכשיו את הנתיב slash team ואותו אני שם במרכאות ואני רוצה שהפוליסה גם תתפוס לגבי כל מה שמתחת ל-team וכאן אני משתמש בעזרת

  20. 06:50

    regular expressions, רגולר אקספרשנס זה בעצם סוג של הוראות התאמה שהן מאוד נפוץ בשימוש בעולם הקוד הפתוח למערכות לינוקס ומה שאני מציין פה זה שאתתאים את הפוליסה הזאתי כל מה שמתחיל בסלאש טים ומאחריו יכול לבוא עוד סלאש וכל דבר אחר והסימן שלה אומר שזה יכול גם לא לבוא כלומר כל מה

  21. 07:22

    שתחת התיק יתאים יוכנס לפוליסה כשיתוף של סמבה. מריץ, השינוי לוקח כמה דקות או כמה שניות במקרה הזה, ועכשיו אני יכול לעשות רסטור קון, כלומר לבדוק גם אם הפעולה תפסה וגם בתכלס לשנות את הקונטקסט, כי מקודם בפקודה הקודמת רק עדכנו את הפוליסה,

  22. 07:46

    ועכשיו עושה רסטור קון מינוס r סלאש תים. בואו נראה אם השינוי תפס ls מינוס lz גדולה על סלאש ואני רואה שעכשיו team נהיה מסוג סמבה share t.

  23. 08:02

    כלומר הפוליסה הזאת תתפסה. כמובן שהייתי יכול למשל במבחן הייתי יכול לעשות רק chcon את הפקודה הזאת chcon מינוס r רקורסיבי שיתפוס גם על תתי תיקיות מינוס t samba share t וכאן לכתוב את התיקייה team זה היה עושה את אותה פעולה זה היה משנה את הקונטקסט של התיקייה אבל זה לא היה מעדכן את הפוליסה ואז אם מישהו בעתיד היה עושה ריסטור קון זה היה כלומר משחזר

  24. 08:15

    לפי הפוליסה את הקונטקסט שצריך להיות את התווית שצריכה להיות בתיקייה הזאתי אז בעצם התווית הייתה מתאפסת והמערכת לא הייתה עובדת בצורה טובה.

  25. 08:49

    עכשיו אחרי שדאגתי ל-SE-Linux בואו בעצם נקנפג את הקונפיגורציה של השרת סמבה עצמו ולשם כך אני עושה cd /etc/samba ואת הדוגמה שלי לכך אני אני הולך לקחת מתוך ה-smb.conf.example והולך לסוף הקובץ. אגב, כדי ללכת לסוף הקובץ, יכול ללחוץ שיפט ו-G ביחד וזה ישר יעביר אותי לסוף הקובץ.

  26. 09:24

    מכאן אני מעתיק את ה-example של ה-share הזה ויוצא החוצה. עכשיו אני הולך לערוך את הקובץ smb.conf. כאן אנחנו רואים את ה-share שהגדרתי בתרגיל הקודם, ואני הולך להוסיף לכאן עוד share, של-share שלי אני התבקשתי לקרוא team, מוריד את כל הביטולי שורות שמופיעים בהתחלה, אני אכתוב כאן comment teams team share, את הנתיב אני אשנה

  27. 09:59

    ל-/team public לא רלוונטי, writable no, הוא לא זמין לכתיבה לכולם, ו-printable גם לא רלוונטי, ואני אכתוב כאן רק את שם המשתמשים שכן יהיה מותר להם לקרוא, לכתוב, וזה, בואו ניזכר רגע בתרגיל, אריק.

  28. 10:23

    כלומר, הגדרתי שלכולם הוא לא ניתן לכתיבה וכן ניתן לכתיבה לאריק. עכשיו אני צריך להוסיף לכאן עוד שורה אחת, שבעצם אומרת שלכולם מותר להסתכל בתוך אשר.

  29. 10:41

    browsable שווה yes. את הפקודה הזאתי, browsable, אפשר לראות אותה בקובץ המאן של smb.conf, היא לא מופיעה בדוגמה.

  30. 10:53

    מעולה, עכשיו אני אשמור את הקובץ ואני אעשה restart לשירות ה-SMB, systemctl restart smb. עכשיו זה בדיוק הזמן לעבור לשרת מספר 2 ולהגדיר שם את מה שאנחנו צריכים.

  31. 11:14

    בואו רגע נרענן את זיכרוננו. בעצם על שרת 2 אנחנו צריכים להרכיב לעשות מאונט ב-dev ב-mnt/dev עם המשתמש בוב. בואו נעשה את זה. עוברים למערכת 2. קודם כל בואו נראה אם השר שלנו תפס אנחנו נשתמש ב-smb-client-h נבדוק רגע מה אנחנו צריכים או מינוס מינוס help כדי לקבל קצת יותר פרטים אנחנו צריכים מינוס u

  32. 11:51

    כדי למצוא את היוזר ומינוס l list על host אז אנחנו עושים מינוס l סיסטם 1 ומינוס u בואו נראה עם איזה משתמש התבקשנו לעשות את הרישום הראשוני עם המשתמש בוב שימו לב לבוב אין הרשעת קריאה וכתיבה ומינוס u בוב u גדולה סיסמה של בוב בוב מעולה וכאן אנחנו רואים את ה-team share את ה-common ששמנו team share אחלה

  33. 12:28

    עכשיו מה שאנחנו צריכים לעשות, אנחנו צריכים בעצם להרכיב באופן קבוע את התיקייה הזאת ב-MNT dev. אנחנו עושים mkdir/mnt/dev ועכשיו אנחנו צריכים לעשות כך שהמערכת באופן קבוע תעשה מונט בתוך התיקייה הזאת ואת זה אנחנו עושים על ידי עריכת הקובץ etc0tab

  34. 12:59

    שבקובץ ETC0Tab נמצאים כל מערכות הקבצים שהמערכת תרכיב אותם באופן קבוע בעלייתה. vi/etc0tab. אגב, שימו לב, הייתי יכול לעשות מונט באופן ידני ורק אז לערוך את ה-0Tab.

  35. 13:21

    יחד עם זאת, אני לא עושה את זה כך כדי שתהיה לי את האפשרות לבדוק באופן ידני לעשות מונט מינוס a, ולעשות מאונט לכל מערכות הקבצים של אפס טאב כדי לראות איך המערכת תעשה את זה באופן אוטומטי באפס טאב הנוסח הוא הבא אני רושם קודם כל מה סלאש סלאש סיסטם וואן עכשיו שם התיקייה עם שם אשר עכשיו כאן אני רושם לאן אני רוצה

  36. 13:52

    לעשות סלאש mnt slash dev. סוג מערכת הקבצים היא cifs וכאן אני צריך לציין מספר mount options. קודם כל אני צריך לציין את ה-mount options multi-user.

  37. 14:10

    תכף אנחנו אחרי זה נראה למה אני מציין דווקא את אלה ואיפה אפשר למצוא פירוט של ה-mount options שיש. אחרי זה אני ארשום את השם של המשתמש בוב ואת הסיסמה וכאן אני אני צריך לרשום את שיטת ההצפנה של הסיסמאות, את זה אני עושה ככה, sec שווה ntlmssp ו-00, כלומר שמערכת הקבצים הזאת היא לא תצטרך לעבור

לקורס המלא: קורס לינוקס מתקדם אונליין

ההרצאה הקודמת: מבחן RHCE - שאלה על שרת SAMBA - חלק 2

ההרצאה הבאה: דרייברים בלינוקס - linux drivers

הרצאות קשורות מקורסים אחרים

  • מבחן ב-QA
  • User Controls
  • USER MODULE
  • פונקצית Multi Statement

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell