עוד אפשרויות

Google translateGoogle translate
RSSמאמרים וחדשות RSS
קישור לעמוד זהLinkback
גרסא להדפסהגרסא להדפסה
del.icio.usשמירה ב del.icio.us
DIGGהמלצה ב-DIGG

מאמרים מהקבוצה

הגדרת שיתוף NFS מעל Ubuntu

22/05/2011 - 06:00



 
 
 

הקדמה

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

הגדרת תיקיות השיתוף

לאחר שהתקנתם Linux Ubuntu, יש לוודא כי החבילה nfs-kernel-server מותקנת דרך ה-synaptic. כדי להוסיף את הסטרימר\HTPC כקליינט לשרת NFS שהרגע הקמת (עם ההתקנה של nfs-kernel-server), יש לערוך את הקובץ etc/exports/.
להלן דוגמא:

 

יש לשים לב שכל שורה עם הסימן # לפניה, המערכת מתעלמת ממנה. לרוב, זו דוגמא שמגיעה עם המערכת עצמה למי שבפעם הראשונה נכנס לעניינים, או כדי ללמד את ה-syntax.

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

 

 

  1. זו הספרייה בנתיב המלא. יש לשים לב שאין רווחים בשם הספרייה, כי אז ישנו Syntax מעט שונה בו יש להוסיף את הסימן \ לפני הרווח כדי שיכיר בו כרווח שבתוך השם ולא שרשרת חדשה של אותיות. לדוגמא אם שם הספרייה הוא
    my movies והיא נמצאת תחת היוזר david אזי הנתיב המלא יהיה:  home/david/my\ movies/  .
     
  2. זהו ה-IP של הקליינט המקבל הרשאה לראות את הספרייה הזו. אם השימוש הוא ב-DHCP של הנתב, בכל איתחול נתב או סטרימר\HTPC הוא משתנה. לכן, במקום ה-IP המדוייק ניתן טווח של כל כתובות ה-IP האפשריות באופן הבא (במקום ה-IP המדוייק שבדוגמא למעלה):
    10.0.0.0/255.255.255.0
    יש לשים לב ששלושת המקומות הראשונים של המספר 10.0.0.0 זהים לזה של הנתב וכן ה-subnet mask של הנתב זהה ל- 255.255.255.0.
    יש לשים לב שבמצב זה כל מי שמשותף ברשת הביתית מקבל הרשאה לראות את הספרייה שקבעתם לשתף.
     
  3. אלו הן אופציות השיתוף וניתן לקרוא עליהן כאן. בדוגמא שלנו ro פירושו הרשאת קריאה בלבד (read only), כאשר עבור קריאה וכתיבה זה יהיה rw. ה-sync מאפשר תגובה חוזרת אל הקליינט אחרי שהשינוי בוצע על השרת (כאשר הפקודה יצא מהקליינט) - לא שימושי אם ההרשאות הן קריאה בלבד - ואז נעשה שימוש ב-async או ברובריקה ריקה (שכן הוא ברירת המחדל). ה-no_subtree_check מומלץ לספריות וקבצים הנוטים להשתנות בתדירות גבוהה. subtree_check בעצם בודק את המיקום והשם של הקובץ שהקליינט ניגש אליו, וכאשר הוא כבוי, הקליינט יכול לגשת לקובץ ולהמשיך לקרוא אותו למרות שהוא שונה בשרת, מבלי להיתקע או לפגוע בקובץ.

לאחר שסיימנו לערוך את הקובץ exports נשאר רק לשמור את השינויים, לסגור את  gedit (אני לא אוהב שיש לי חלון או תוכנה עם הרשאות  root פתוחים על בסיס קבוע), ולאתחל את השרת עם הפקודה המאוד לא אינטואיטיבית:

sudo /etc/init.d/nfs-kernel-server restart

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

  1. לצאת מהיוזר בו נמצאים כרגם ולהיכנס כ-root, וכך אפשר לכוונן את ההרשאות דרך ה-properties של הספרייה\כונן. דרך שקולה לכך היא להפעיל את ה-nautilus בהרשאות root ע"י הטרמינל:





    וכך יפתח חלון של מערכת הקבצים בהרשאות ROOT דרכה אפשר לתת הרשאות עם ה- properties של הספרייה\כונן:

     
     
  2. אין הרבה מקרים כאלה, לדעתי, שהעבודה דרך הטרמינל קלה וקצרה יותר, אך במקרה הזה היא אכן הדרך היותר קלה, ע"י פקודת ה-chmod. בקישור אפשר לקרוא את המקור.

כאן מערכת ההרשאות של הספרייה מחולקת לשלושה חלקים:
owner, group, other (הסדר משמאל לימין חשוב), כאשר ישנם שלושה מצבים אפשריים לכל אחד: קריאה , כתיבה, הפעלה (execute). פקודת chmod נראת כך:

i (ה-α β γ) הוא מספר תלת ספרתי אוקטלי (בסיס 8) הקובע את ההרשאה, כך שסיפרת המאות היא מידת ההרשאה ל-owner, סיפרת העשרות היא זו של ה-group וספרת האחדות היא של ה-other. הערך שלה נקבע עפ"י החוקיות הבאה: קריאה=4, כתיבה=2, הפעלה=1. אם אני רוצה הרשאה ל-owner של כתיבה, קריאה והפעלה אני סוכם 1+2+4=7, בעוד ל-group קריאה וכתיבה 2+4=6, ול-other קריאה בלבד = 4, מתקבלת תצורת ספרות של 764.

ii ישמש אותי אם אני רוצה שההרשאה תכלול את כל ספריות המשנה והקבצים תחת הספריה שעליה אני עובד. במקרה כזה, יש להוסיף R-.

iii הוא הנתיב המלא של הספרייה\כונן לשיתוף.

בכל שינוי של chmod על ספרייה הנמצאת תחת היוזר (כל הספריות שתחת /home/user/) אין צורך לעשות שימוש בהרשאת root עם פקודת ה-sudo. במידה והשיתוף הוא של כונן שנקודת ה-mount שלו נמצאת תחת /media/ יש צורך ב-sudo. רצוי מאוד להמנע משימוש ב-sudo במקרים בהם אינכם בטוחים במה שאתם עושים, כאשר אתם משנים הרשאות.

עכשיו, כשהבנו מה ה- chmod עושה, נותר לכתוב את ההרשאה:

עבור כל הקליינטים ברשת הניגשים לנקודה ששיתפנו בשרת ה- NFS, אני רוצה לקבוע הרשאת קריאה בלבד, עבור כונן Storage שמצא בבעלות ROOT:

sudo chmod 744 -R /media/Storage

הרשאות ה-root נשמרו מלאות (כי הוא ה-owner) ומי שבקבוצת ה-root (לעיתים היוזר היחיד נמצא בקבוצה המורחבת של ה-root) מקבל הרשאת קריאה וכן כל האחרים. כמובן שאני רוצה לשתף את כל ספריות המשנה והקבצים בכונן ועל כן הוספתי R-.
ישנן עוד שלל אופציות ומשחקים שלא אכנס אליהם, אך ניתן לקרוא עליהן כאן.

צריכים להגדיר שיתוף עבור Windows 7? המדריך האולטימטיבי לשיתוף ספריות עם מזרימדיות ו-Windows7

אז מה נשאר?

נשאר לנו להגדיר את הקליינט בכל אחד ממכשירי הרשת - אם זה HTPC או סטרימר.

עבור SMB העניין עוד יותר פשוט אך עניין ההרשאות נשאר בעינו - גם אם אשתף ספרייה זה לא אומר שכולם יכולים לקרוא את התוכן שלה.
יש לוודא שהחבילה בשם  samba מותקנת.
בלחיצת כפתור ימני על הספרייה\כונן->
properties->
share->

מקבלים את העמוד הבא:

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

בהצלחה!

להמשך דיון בנושא הגדרת שיתוף NFS מעל Ubuntu.


נושאים מקושרים

רשת ואינטרנט
רשת ואינטרנט


עוד מ: ufffnick
תגיות


דרגת קושי: 6
דירוג הכתבה

דירוג ממוצע:

5.0

בהקשר זה

 עוד על רשת ואינטרנט


המאמר הפופולרי ביותר בתחום רשת ואינטרנט:
מדריך להגדרת Netflix בעזרת שירות VPN
תקנון / תנאי השימוש באתר צור קשר / contact us כל הזכויות שמורות לקבוצת ht