PracticU

הרשאות מיוחדות - SetUID

בלי כתוביותעם כתוביות
PracticU › קורס לינוקס למתקדמים - הסמכה בינלאומית - Linux - Red Hat - RHCSA / RHCE › הרשאות מיוחדות - SetUID
מילון מושגים:
הרשאה - קביעה אילו פעולות ומשאבים מותרים למשתמש או לתהליך לאחר שזהותו אומתה. שולטת במי רשאי לעשות מה.
סיסמה - מחרוזת תווים סודית שמשמשת לאימות זהות המשתמש בעת כניסה למערכת. ככל שהיא ארוכה ומורכבת יותר, כך קשה יותר לנחש אותה.
האש - פונקציה שממירה מידע לערך קצר באורך קבוע. שינוי קטן בקלט משנה את התוצאה, והיא חד-כיוונית.
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
FTP - פרוטוקול להעברת קבצים בין מחשבים ברשת, בין לקוח לשרת.
ביט - יחידת המידע הקטנה ביותר במחשב, שערכה 0 או 1. שמונה ביטים מרכיבים בייט.
תהליך - מופע של תוכנה שרצה בזיכרון, עם הקוד, הנתונים והמשאבים שהוקצו לה על ידי מערכת ההפעלה.

הרשאות מיוחדות - SetUID
הרצאה זו מסבירה את ההרשאה המיוחדת Set UID בלינוקס, שמאפשרת לתוכנה לרוץ בשם בעלה של הקובץ ולא בשם המשתמש שמפעיל אותה. ההסבר נשען על שאלה פשוטה: איך משנים סיסמה, כשקובץ הסיסמאות שייך לרוט בלבד.
איך הסיסמאות שמורות
1. קובץ הסיסמאות: הסיסמאות של המשתמשים שמורות בקובץ /etc/shadow בצורה מערבלת (hash). אין הרשאה לאף משתמש על הקובץ, ובכל זאת רוט יכול לקרוא ולכתוב אותו.
2. שדות נוספים: לצד הערבול מופיעים שדות של תוקף הסיסמה, מתי הוחלפה בפעם האחרונה וכמה זמן היא בתוקף. משתמש בלי סיסמה לא יכול להתחבר אינטראקטיבית, וזה נפוץ אצל משתמשי שירותים כמו FTP.
3. הפקודה passwd: הפקודה מחליפה סיסמה, וכדי לכתוב לקובץ הסיסמאות היא צריכה לרוץ כרוט. לכן מסמנים אותה בהרשאת Set UID.
ניסוי: עם ובלי Set UID
1. עותק בלי הביט: מעתיקים את passwd לקובץ בשם passwd2 בלי ביט Set UID. הפקודה נכשלת עם השגיאה Authentication token manipulation error.
2. עותק עם הביט: מוסיפים את הביט בעזרת chmod, ואז הפקודה עובדת. הביט נראה כאות s בהרשאות שמופיעות ב-ls -l.
3. בדיקת התהליך: בעזרת ps -aux רואים שהתהליך רץ בשם רוט, גם כשדוד הוא זה שהפעיל אותו.
שימו לב
המרצה מסביר שהעתק בלי ביט הוא הבטחה לאבטחה: התוכנה בודקת מי הריץ אותה, ולכן דוד לא יכול בעזרתה לשנות סיסמה של יוני. לאחר ההרצאה תוכלו להסביר מדוע passwd זקוקה להרשאת Set UID ואיך מזהים אותה בפלט של ls -l.
השיעור הבא בקורס: הרשאות מיוחדות - sticky bit
לחץ כאן להורדת הורדת קבצי 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.


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

פרקי ההרצאה: הרשאות מיוחדות - SetUID

  1. 00:00

    מבוא להרשאת SetUID ו-Run As

  2. 01:22

    הדוגמה: החלפת סיסמה עם passwd

  3. 02:19

    איפה נשמרות הסיסמאות: קובץ shadow

  4. 04:32

    הרשאות קובץ הסיסמאות ותפקיד root

  5. 05:07

    זיהוי הרשאת s על קובץ הפקודה

  6. 06:10

    השוואה לקובץ רגיל בלי SetUID

  7. 07:03

    הרצה של קובץ SetUID בשם משתמש אחר

תמלול ההרצאה: הרשאות מיוחדות - SetUID

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

  1. 00:02

    שלום לכולם, ברוכים הבאים על הרצאה על הרשאות מיוחדות שיש בלינוקס הסטנדרטי שנקראת Set UID. מה זה Set UID?

  2. 00:13

    ה-Set UID מאפשר לתת Run As יוזר אחר, כמו שבווינדוס יש Run As יוזר אחר, אתם מכירים את זה שאתם לוחצים על משהו Run As ואז מריצים איזשהו קובץ תחת שם אחר, בואו אני אראה לכם דוגמה.

  3. 00:33

    ניקח לדוגמה Run בווינדוס הרגיל, windows system 32 ניכנס ל-run הרגיל שלי ונראה פה ב-cmd שיש לי cmd.exe ואני יכול לבוא ל-cmd.exe ולעשות shift right click run as different user להריץ את התהליך כיוזר רגיל אחר אבל פה יבקש שם וסיסמה בלינוקס הוא יכול אפילו לא לבקש שם וסיסמה ולא רק זה אפשר גם בווינדוס

  4. 01:07

    לעשות שהוא לא יבקש שם וסיסמה אוקיי שזה נקרא להעריץ תחת פרופיל של מישהו אחר. Run as different user, זה הרעיון המקורי שלהם. בואו נראה למה צריך את זה.

  5. 01:22

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

  6. 01:45

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

  7. 02:01

    New Password. רגע, שנייה. לדייוויד, אנחנו רוצים להחליף סיסמה, אנחנו רוצים לתת לו את הסיסמה הזאת. אוקיי.

  8. 02:16

    הנה, החלפנו סיסמה לדייוויד, כן? איפה הסיסמה של דייוויד נמצאת? איפה הסיסמאות שמורות? cut etc shadow cut etc shadow זה קובץ שבו שמורות כל הסיסמאות תכלס אוקיי אנחנו יכולים לראות שזה רות דולר 6 זה אומר שזה מוצפן בשעה 256 אם אני לא טועה באלגוריתם של האש שעה 256 ופה

  9. 02:35

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

  10. 03:20

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

  11. 03:40

    כמו יוזר לסרוויסים מסוימים, כמו לדוגמה יוזר לסרוויס של FTP. הוא יכול לרוץ, יש לו הרשאות במערכת כמו ליוזר רגיל, אבל מה אי אפשר לעשות איתו לוגין, אוקיי?

  12. 03:56

    שימו לב, יוני, הנה זה יוזר של יוני עם סיסמה שלו. איפה דיוויד? בני דיוויד, ויש לו את הסיסמה שלו, אוקיי?

  13. 04:09

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

  14. 04:25

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

  15. 04:39

    אנחנו רוצים לראות שהרשאות על קובץ הסיסמאות אין לאף אחד, לאף אחד אין, אבל למעשה זה אומר שרק רות יכול לראות אותם, אוקיי?

  16. 04:54

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

  17. 05:25

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

  18. 06:02

    אות s זה אומר שקבעו עליו set uid. מה זה ה-set uid? בואו נעשה בלי set uid. נעשה קופי של הקובץ הזה לאותו אחד עם ספרה 2 בסוף. פשוט נוסיף לו 2. מותר לנו?

  19. 06:20

    מותר לנו. עכשיו נעשה ls כוכבית. אתם רואים? הם בדיוק אותם קבצים, אחד לאחד אותו דבר, רק פה יש הרשעת s ופה אין הרשעת s.

  20. 06:34

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

  21. 06:49

    לעומת זאת הקובץ עם אות s לא משנה מי יריץ אותו הוא ירוץ עם הרשאות של האונר של הקובץ. מי האונר של הקובץ? זה הרות. זאת אומרת שהוא ירוץ תמיד עם הרשאות של רות לא משנה מי יריץ אותו.

  22. 07:08

    בוא נראה דוגמה. נתחבר בתלנט, נתחבר פה בתלנט לכדייוויד נניח, ואנחנו רוצים לעשות פסט wd, פסט wd רגיל, מחליפים סיסמה, הוא אומר מה הסיסמה הנוכחית, אני אומר לו את הסיסמה הנוכחית, מה הוא אומר לי, מה ה-new password, אני אומר לו מה ה-new password, מה הסיסמה החדשה,

  23. 07:41

    והוא אומר לי, הסיסמה all authentication tokens updated successfully, זה כן הצליח, יפה מאוד, יפה מאוד, הצליח.

  24. 07:57

    כשאנחנו עושים אותו דבר, רק עושים עם שתיים. הוא אומר מה הסיסמה הנוכחית, אנחנו מכניסים לו את הסיסמה הנוכחית. מה ה-new password, מכניסים לו סיסמה חדשה. מכניסים לו סיסמה חדשה.

  25. 08:13

    ותראו מה קורה עכשיו. Manipulation error. Authentication token, Manipulation error. למה יש לו פתאום error? כי פס WD2, שימו לב, פס WD2, אין לו הרשאות sticky beat, אוקיי?

  26. 08:38

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

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

ההרצאה הקודמת: הסבר על Hardlink ועל iNode

ההרצאה הבאה: הרשאות מיוחדות - sticky bit

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

  • תיקיות מיוחדות - של Sharepoint
  • הרשאות NTFS
  • הרשאות על Stored Procedure
  • הסבר על הרשאות על אנדרואיד

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

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