
ls -l מופיעה אות t במקום ההרשאה x של האחרים. תיקיית tmp מסומנת בצבע ירוק ובאות t.test קובץ בשם file1.txt בעזרת touch, ודוד מצליח למחוק אותו, כי ההרשאה נמצאת ברמת התיקייה.chmod. עכשיו דוד מקבל Operation not permitted כשהוא מנסה למחוק את הקובץ של יוני.execute על תיקייה פירושה מעבר לתוכה, כלומר cd אליה. הכלל נשמע פשוט, אבל הרבה תוכנות דורשות אותו.מבנה ושמות דיסקים ומחיצות בלינוקס:

הטקסט המלא של הדקות הראשונות בהרצאה «הרשאות מיוחדות - sticky bit» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, ברוכים הבאים להרצאה על סטיקי ביט. מה זה סטיקי ביט? למעשה האמת לא כל כך משתמשים בזה, אבל הרבה פעמים שואלים על זה בראיונות עבודה, ובגלל זה חשוב שתכירו את זה לפי דעתי.
ככה, זה הרשאה מיוחדת שיש על תיקייה, הרשאה מיוחדת שיש על תיקייה, שהיא חלק מההרשאות הבסיסיות של לינוקס לפני שזה יתרחב לכל האקסס ליסטים הנוספים.
זה משהו מהבייסיק של הלינוקס שפותר איזושהי בעיה מאוד מאוד מעניינת שהייתה בתיקיית טמפ. אתם רואים תיקיית טמפ בלינוקס צבועה בירוק כזה, צבע מיוחד, ויש לה הרשאה עם אותי פה.
שימו לב, במקום אקזיקיוט יש לה פה אותי. זה נקרא סטיקי ביט. סטיקי ביט, שמים אותו אך ורק על תיקיות, ומה שהוא מאפשר בגדול זה למחוק קבצים רק למי שהאונר של הקובץ, רק מי שהבעלים של הקובץ בפנים.
זאת אומרת, שימו לב מה קורה, יש לנו הרשאה לכולם read-write, יש לנו read-write לכולם, זה אומר שכולם אמורים למחוק כל קובץ שבא להם בתיקייה הזאת.
נכון? כולם יכולים לרשום קבצים וכולם יכולים למחוק קבצים. כולל, נניח יוני יכול למחוא קובץ לדוד, ודוד יכול למחוא קובץ ליוני. אנחנו רוצים שיוני בתיקייה הזאת בלבד יוכל ליצור קבצים ולמחוא קבצים רק של יוני.
שדוד לא יוכל למחוא קבצים של יוני. כל אחד יוכל למחוא רק את הקבצים של עצמו. זה נקרא סטיקי ביט. בואו נעשה דוגמה. המטרה של הסיפור הזה שתיקי הטמפ כולם יוכלו לשים את הקבצים הזמניים שלהם בפנים, אבל אחד לא יוכל לדפוק את השני, אחד לא יוכל למחוק לשני את הקבצים.
בואו נעשה דוגמה, ניכנס לתיקיית נניח של home, שיש לנו פה כמה יוזרים, דייוויד, יוני, חיים, נניח יש לנו פה כמה יוזרים.
יפה, בואו נעשה תיקייה חדשה, מגדיר נקראת טסט תיקי ביט, טסט תיקי ביט, אני עושה תיקייה, טסט תיקי ביט, ls מינוס l, הנה יש לנו את התיקייה שלנו, בואו ניתן לכולם הרשאות מלאות על התיקייה שכולם יוכלו לרשום בקבצים ולמחוק בקבצים 777 זה אומר הרשאות מלאות אני מקווה שאת זה אתם כבר
מכירים ואנחנו רואים שיש לנו דירקטורי ואנחנו רואים שיש לנו read write וexecute read write וexecute read write וexecute דרך אגב מה זה execute על התיקייה execute על התיקייה זה לעשות change current directory Change Current Directory, Change Working Directory זה נקרא, Change Working Directory,
זאת אומרת שתוכנה יכולה להחליף Change Working Directory לתיקייה הזאת. הרבה תוכנות דורשות את זה. יפה מאוד, אנחנו הולכים להחליף את זה ב-Sticky Bit.
לפני שאני מחליף ל-Sticky Bit, שימו לב, לפני שאני מחליף ל-Sticky Bit, אנחנו נפתח עכשיו בכוונה, אני פותח פה סשן חדש שיהיה לכם ממש ברור, ואני פותח פה סשן של יוני.
יוני פותח פה סשן, נכנס ל-ohm, נכנס לטסט. כרגע אין פה שום קובץ, עושים touch, זה אומר מייצרים קובץ בשם file1.txt. בלינוקס פחות לחוצים על סיומות כמו במייקרוסופט, יש הרבה קבצים בלי סיומות.
touch, זה אומר אני מייצר קובץ ריק, ls-l, אני רואה שיש לי קובץ ריק, זה יוני. שימו לב, פייל אחד, מי שעשה אותו יוני, והקבוצה שלו זה גם יוני.
יפה מאוד. עכשיו אנחנו פותחים עוד סשן, ונכנסים כדוד. נכנסים כדייוויד, הולכים לאותה תיקיית הום, וטסט. רואים פה את הקובץ של יוני, אתם רואים, רואים את הקובץ של יוני, ואני יכול למחוק אותו.
שימו לב, rm, פייל אחד. דרך אגב, למה אני יכול למחוק אותו? קודם כל בואו נראה שאני יכול למחוק אותו. אין אותו. למה הצלחתי למחוק אותו למרות שאין לי הרשאות אני לא יוני אני דוד למה הצלחתי למחוק קובץ של יוני למרות שאין לי פה הרשאות כי הרשאות על מחיקה נמצאות ברמת תיקייה ומה יש לי ברמת תיקייה ברמת תיקייה יש לי פה הרשאות right לתיקייה אתם רואים יש לי פה אני other ויש
לי הרשאות right של תיקייה זה אומר שאני יכול למחוק דברים מתוך התיקייה יפה מאוד, אז הבנו למה אני יכול למחוק, אבל יש פה בעיה, שימו לב, מה שקורה זה שכרגע אין פה קבצים, יוני עושה טאץ' לקובץ, יוני עושה טאץ' לקובץ, אתם רואים, דוד עושה טאץ' לקובץ, אתם רואים, יוני עשה טאץ' לקובץ ראשון, דוד עשה טאץ' לקובץ שני, ושימו לב, אני כדוד יכול למחוק את הקבצים
של יוני, שזה ממש לא תקין,