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

הטקסט המלא של הדקות הראשונות בהרצאה «מבחן RHCE - שרת SAMBA במצב Multi User» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים לסרטון הכנה ל-RHCE. בסרטון זה אנו נעסוק בשאלה בנושא של סמבה לסביבם תרובת משתמשים. סמבה מאפשרת לשרתי לינוקס לחלוק תיקיות וקבצים עם שרתי Windows.
אנו עסקנו בשאלה של סמבה למשתמש אחד בשאלה הקודמת, שאלה 8. זוהי שאלת המשך. לכן, כדי שתהיה לכם את התמונה המלאה, אני ממליץ לכם לראות את הסרטון בנושא שאלת סמבה עם משתמש אחד אם עוד לא ראיתם.
אז בואו נראה מה מתבקשים מאיתנו, מה אנחנו מתבקשים לעשות בשאלה הזאת. אנחנו מבקשים ליצור תיקייה בשם Team ולחלוק אותה בעזרת סמבה על גבי מערכת אחת. שם ה-share השיתוף יהיה גם Team כמו שם התיקייה.
התיקייה המשותפת תהיה נגישה בעצם רק למשתמשים בתוך הדומיין example.com. השאלה המשותפת, ניתן יהיה בעצם לכולם לראות קבצים בתוך התיקייה הזאת.
המשתמש בוב יהיה לו גישה של קריאה וכתיבה לתיקייה, ומשתמש אריק יוכל גם לקרוא וגם לכתוב לתיקייה. לבוב תהיה סיסמה בוב ולאריק תהיה סיסמה אריק.
אנחנו מתבקשים לעשות תרכוב, לעשות מונט לתיקייה הזאת באופן קבוע על סיסטם 2 תחת התיקייה mnt-dev ולהשתמש במשתמש בוב כדי לבצע את המונט על מחשב 2. אז שימו לב שאפילו שאנו נבצע את המונט תחת המשתמש של בוב אנחנו עדיין משתמשים שונים כמו אריק למשל כאשר הוא ייגש על מערכת 2 לתיקייה הזאת,
בעצם הוא יקבל הרשאות שונות: אריק יוכל לקרוא ולכתוב, ובוב יוכל רק לקרוא מהתיקייה הזאת. קדימה, אז בואו נתחיל.
ראשית, על שתי המערכות. אנו ניצור את המשתמשים user-ad אריק וuser-ad בוב. אותו דבר אנחנו נעשה גם על מערכת 2, user-ad אריק וuser-ad בוב.
על מערכת 1, אנחנו נוסיף את שתי המשתמשים אריק ובוב, אנחנו נוסיף אותם למערכת הסמבה בעזרת הפקודה smb-wd. smb-wd. כמו שאתם זוכרים, במערכת הסמבה קיימת מערכת נוספת מקבילה שמנהלת את הסיסמאות למשתמשים, ולכן הסיסמאות שהמשתמשים השתמשו בהן, הן לא יהיו זהות לסיסמה של מערכת הלינוקס.
כמובן שאם אנחנו נחבר את הסמבה למערך האקטיב דירקטורי, אז כל המשתמשים בעצם יגיעו מתוך הרישום המרכזי בתוך האקטיב דירקטורי.
אקטיב דירקטורי, למי שלא מכיר, זאת אפשרות ליצור רשומות מרכזיות עבור כל השרתים ברשת של משתמשים, סיסמאות והרשאות. ובכן, אני מוסיף smb-pass wd, נריץ מינוס h כדי לרענן את האפשרויות, ואנחנו צריכים את האפשרות מינוס a adduser ונוסיף את המשתמש אריק ונקבע לו סיסמה אריק.
עכשיו אנחנו נוסיף את המשתמש בוב ולמשתמש בוב אנחנו נקבע לו גם סיסמה. שימו לב, אלה לא הולכות להיות הסיסמאות שיש להם בתוך מערכת הלינוקס.
בתוך מערכת הלינוקס הסיסמאות שלהם שונות לגמרי. אפילו אנחנו עדיין לא קבענו להם סיסמה בכלל שהם יוכלו להיכנס למערכת של לינוקס. עכשיו אנחנו ניצור את התקייה המשותפת ואנחנו נוסיף, היות והיא נוצרה, אם נעשה ls-l/ אנחנו נראה שהתקייה team נוצרה תחת root ואין אפשרות כתיבה לאחרים, כלומר לקבוצה
ולאחרים יש בעצם הרשאות כתיבה של קריאה וחיפוש בתוך התקייה. אנחנו נוסיף ככה שגם למשתמשים אחרים שהם יוכלו דרך הסמבה לכתוב לתיקייה ואנחנו נעשה בעזרת change mode, change mode o others +w לתיקייתים ובכן שינינו בואו נראה אם השינוי תפס ואנחנו רואים שכאן יש האות w הופיעה תחת others עכשיו ההרשאות
הם rxw כלומר יש הרשאות מלאות לתיקייה הזאתי למשתמשים שהם אחרים, כלומר לא הבעלים ולא בתוך הקבוצה. עכשיו מה שאנחנו צריכים לדאוג זה לעבודה התקינה של ה-SE-Linux ולשם כך אני הולך גם לשנות את ה-content, את התווית של ה-SE-Linux שמוטבעת על התיקייה הזאת,
שבעזרת התווית מערכת ה-SE-Linux בעצם תדע לאפשר לשרת הסמבה לתת גישה לתיקייה הזאת. מערכת ה-SE-Linux היא בעצם מחלקת את התכנים במערכת לא רק למשתמשים אלא גם לפי תוויות ועל ידי כך היא יודעת למשל שגם אם המשתמש root שתחתיו פועל השרת סמבה ניגש לתיקייה מסוימת הוא יודע האם את התיקייה הזאת מותר לשתף בעזרת
פרוטוקול סמבה או או שאי אפשר בעצם על ידי כך שלכל קובץ במערכת מוצמדת תווית ובעזרת התווית הזאתי הפוליסה יודעת להחליט מה מותר ומה אסור לעשות עם אותו קובץ.
אז עכשיו אנחנו הולכים לעדכן את הפוליסה ולהגיד שלתיקיה slash team אפשר בעצם היא תהיה תיקיה שהיא משותפת על ידי סמב״ם.
אז כדי לערוך את הפוליסה אני עושה se-manage f-context מינוס a אני מוסיף משהו חדש, מינוס t וכאן את זה צריך לזכור, שם בה מקף תחתון share, מקף תחתון t כי זה טייפ, ועכשיו את הנתיב slash team ואותו אני שם במרכאות ואני רוצה שהפוליסה גם תתפוס לגבי כל מה שמתחת ל-team וכאן אני משתמש בעזרת
regular expressions, רגולר אקספרשנס זה בעצם סוג של הוראות התאמה שהן מאוד נפוץ בשימוש בעולם הקוד הפתוח למערכות לינוקס ומה שאני מציין פה זה שאתתאים את הפוליסה הזאתי כל מה שמתחיל בסלאש טים ומאחריו יכול לבוא עוד סלאש וכל דבר אחר והסימן שלה אומר שזה יכול גם לא לבוא כלומר כל מה
שתחת התיק יתאים יוכנס לפוליסה כשיתוף של סמבה. מריץ, השינוי לוקח כמה דקות או כמה שניות במקרה הזה, ועכשיו אני יכול לעשות רסטור קון, כלומר לבדוק גם אם הפעולה תפסה וגם בתכלס לשנות את הקונטקסט, כי מקודם בפקודה הקודמת רק עדכנו את הפוליסה,
ועכשיו עושה רסטור קון מינוס r סלאש תים. בואו נראה אם השינוי תפס ls מינוס lz גדולה על סלאש ואני רואה שעכשיו team נהיה מסוג סמבה share t.
כלומר הפוליסה הזאת תתפסה. כמובן שהייתי יכול למשל במבחן הייתי יכול לעשות רק chcon את הפקודה הזאת chcon מינוס r רקורסיבי שיתפוס גם על תתי תיקיות מינוס t samba share t וכאן לכתוב את התיקייה team זה היה עושה את אותה פעולה זה היה משנה את הקונטקסט של התיקייה אבל זה לא היה מעדכן את הפוליסה ואז אם מישהו בעתיד היה עושה ריסטור קון זה היה כלומר משחזר
לפי הפוליסה את הקונטקסט שצריך להיות את התווית שצריכה להיות בתיקייה הזאתי אז בעצם התווית הייתה מתאפסת והמערכת לא הייתה עובדת בצורה טובה.
עכשיו אחרי שדאגתי ל-SE-Linux בואו בעצם נקנפג את הקונפיגורציה של השרת סמבה עצמו ולשם כך אני עושה cd /etc/samba ואת הדוגמה שלי לכך אני אני הולך לקחת מתוך ה-smb.conf.example והולך לסוף הקובץ. אגב, כדי ללכת לסוף הקובץ, יכול ללחוץ שיפט ו-G ביחד וזה ישר יעביר אותי לסוף הקובץ.
מכאן אני מעתיק את ה-example של ה-share הזה ויוצא החוצה. עכשיו אני הולך לערוך את הקובץ smb.conf. כאן אנחנו רואים את ה-share שהגדרתי בתרגיל הקודם, ואני הולך להוסיף לכאן עוד share, של-share שלי אני התבקשתי לקרוא team, מוריד את כל הביטולי שורות שמופיעים בהתחלה, אני אכתוב כאן comment teams team share, את הנתיב אני אשנה
ל-/team public לא רלוונטי, writable no, הוא לא זמין לכתיבה לכולם, ו-printable גם לא רלוונטי, ואני אכתוב כאן רק את שם המשתמשים שכן יהיה מותר להם לקרוא, לכתוב, וזה, בואו ניזכר רגע בתרגיל, אריק.
כלומר, הגדרתי שלכולם הוא לא ניתן לכתיבה וכן ניתן לכתיבה לאריק. עכשיו אני צריך להוסיף לכאן עוד שורה אחת, שבעצם אומרת שלכולם מותר להסתכל בתוך אשר.
browsable שווה yes. את הפקודה הזאתי, browsable, אפשר לראות אותה בקובץ המאן של smb.conf, היא לא מופיעה בדוגמה.
מעולה, עכשיו אני אשמור את הקובץ ואני אעשה restart לשירות ה-SMB, systemctl restart smb. עכשיו זה בדיוק הזמן לעבור לשרת מספר 2 ולהגדיר שם את מה שאנחנו צריכים.
בואו רגע נרענן את זיכרוננו. בעצם על שרת 2 אנחנו צריכים להרכיב לעשות מאונט ב-dev ב-mnt/dev עם המשתמש בוב. בואו נעשה את זה. עוברים למערכת 2. קודם כל בואו נראה אם השר שלנו תפס אנחנו נשתמש ב-smb-client-h נבדוק רגע מה אנחנו צריכים או מינוס מינוס help כדי לקבל קצת יותר פרטים אנחנו צריכים מינוס u
כדי למצוא את היוזר ומינוס l list על host אז אנחנו עושים מינוס l סיסטם 1 ומינוס u בואו נראה עם איזה משתמש התבקשנו לעשות את הרישום הראשוני עם המשתמש בוב שימו לב לבוב אין הרשעת קריאה וכתיבה ומינוס u בוב u גדולה סיסמה של בוב בוב מעולה וכאן אנחנו רואים את ה-team share את ה-common ששמנו team share אחלה
עכשיו מה שאנחנו צריכים לעשות, אנחנו צריכים בעצם להרכיב באופן קבוע את התיקייה הזאת ב-MNT dev. אנחנו עושים mkdir/mnt/dev ועכשיו אנחנו צריכים לעשות כך שהמערכת באופן קבוע תעשה מונט בתוך התיקייה הזאת ואת זה אנחנו עושים על ידי עריכת הקובץ etc0tab
שבקובץ ETC0Tab נמצאים כל מערכות הקבצים שהמערכת תרכיב אותם באופן קבוע בעלייתה. vi/etc0tab. אגב, שימו לב, הייתי יכול לעשות מונט באופן ידני ורק אז לערוך את ה-0Tab.
יחד עם זאת, אני לא עושה את זה כך כדי שתהיה לי את האפשרות לבדוק באופן ידני לעשות מונט מינוס a, ולעשות מאונט לכל מערכות הקבצים של אפס טאב כדי לראות איך המערכת תעשה את זה באופן אוטומטי באפס טאב הנוסח הוא הבא אני רושם קודם כל מה סלאש סלאש סיסטם וואן עכשיו שם התיקייה עם שם אשר עכשיו כאן אני רושם לאן אני רוצה
לעשות סלאש mnt slash dev. סוג מערכת הקבצים היא cifs וכאן אני צריך לציין מספר mount options. קודם כל אני צריך לציין את ה-mount options multi-user.
תכף אנחנו אחרי זה נראה למה אני מציין דווקא את אלה ואיפה אפשר למצוא פירוט של ה-mount options שיש. אחרי זה אני ארשום את השם של המשתמש בוב ואת הסיסמה וכאן אני אני צריך לרשום את שיטת ההצפנה של הסיסמאות, את זה אני עושה ככה, sec שווה ntlmssp ו-00, כלומר שמערכת הקבצים הזאת היא לא תצטרך לעבור