כמשתמש מתחיל בלינוקס, אתה לומד על ההרשאות והבעלות הקשורים לקובץ ולספריות. מערכות הפעלה דמויות לינוקס/יוניקס מאפשרות לך להגדיר שילוב של הרשאות תשע ביטים כדי למנוע ממשתמשים אחרים גישה מיותרת לקבצים/ספריות. בדומה לאלה יש הרשאות מיוחדות לקבצי הפעלה הידועים כ-set UID, set GID ו-sticky bits.

הבנת הרשאות מיוחדות יכולה להיות קצת מכריעה עבור מנהלי לינוקס שואפים. כאן תלמד רקע קטן על הרשאות הקבצים הרגילות ותסביר כיצד הן שונות מהרשאות מיוחדות. אנו גם מדגים פונקציונליות של SetID, GetID ו-sticky bits עם דוגמאות להבנה מקיפה.

הרשאות קבצים רגילות של לינוקס

לינוקס משתמשת ב פקודת chmod להקצות/לשנות קריאה (r=4), כתוב (w=2), ובצע (x=1) הרשאות על קבצים ותיקיות. כלומר, תשעת הסיביות שהוזכרו לעיל חלות על שלוש הקטגוריות העיקריות של קבוצות ההרשאה. שלושת הראשונים מיועדים למשתמש שבבעלותו הקובץ, הסט השני מיועד לקבוצה שהוקצתה לקובץ/ספרייה, ושלושת האחרונים מייצגים את כל שאר המשתמשים.

לדוגמה, קובץ רגיל יופיע כל סוגי ההרשאות עבור כל קטגוריות המשתמשים בתור -rwxrwxrwx. בעוד - בהחלפת אותיות מייצגים את היעדר ההרשאה הזו. עַכשָׁיו chmod הפקודה משתמשת במספרים ובאותיות כדי לשנות הרשאות באופן הבא:

instagram viewer
sudo chmod 755 file #for rwxr-xr-x 
קובץ sudo chmod 644 #for rw-r--r-- 
sudo chmod a-w file #for r-xr-xr-x 
sudo chmod a+x file #for --x--x--x

הרשאות קובץ לינוקס מיוחדות

ה setuid bit מייצג הרשאה על קובץ הפעלה שיכול להיות מופעל על ידי משתמשים אחרים בהרשאת הבעלים. למשל, כאשר המשתמש מקסימום מפעיל את הפקודה vi כמשתמש ג'ון, יהיו לך הרשאות קריאה/כתיבה של ג'ון.

כדי לזהות קבצים עם setuid, השתמש ב- ls פקודה וחפש את ס ביט במקום סיביות ההפעלה איקס, כדלהלן.

הגדר ביט UID

ה setuid bit מייצג הרשאה על קובץ הפעלה שיכול להיות מופעל על ידי משתמשים אחרים בהרשאת הבעלים. למשל, כאשר המשתמש מקסימום מריץ את הפקודה vi בתור שורש, יהיו לו הרשאות קריאה/כתיבה של שורש. כדי לזהות קבצים עם setuid, השתמש ב- ls פקודה וחפש את ס ביט במקום ביט הביצוע איקס, כדלהלן:

ls -la /etc/passwd 
-rwsr-xr-x 1 root root 88464 14 בדצמבר 12:46 passwd

כמה דוגמאות נוספות הן:

ls -la /bin/gpasswd
-rwsr-xr-x 1 root root 88464 14 ביולי 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 root root 67816 21 ביולי 2020 su
ls -la /newgrp
-rwsr-xr-x 1 root root 44784 14 ביולי 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 root root 166056 19 בינואר 2021 sudo

כדי להגדיר את סיביות setuid עבור קבצי הפעלה, השתמש בפקודה chmod באופן הבא:

chmod u+s /etc/passwd

כדי להסיר את ההרשאה להפעיל את הקבצים ממשתמשים או בעלים שאינם שורשיים:

chmod u-s /etc/passwd

הגדר GID Bit

כפי שנדון, סיביות ה-uid של הסט שולטת בגישה לקבצים למשתמשים אחרים, בעוד שהסיבית setgid (GID) יוצרת ספריות שיתופיות. זה אומר שכל קובץ שנוצר בתוך הספרייה הזו נגיש לקבוצת הספרייה. לפיכך, הוא מאפשר לכל חברי הקבוצה להפעיל קבצי הפעלה ללא הרשאות הבעלים ומגן עליהם מפני משתמשים אחרים.

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

צור קבוצה באמצעות ה הוספה קבוצתית פקודה עם מזהה קבוצה 415 לשיתוף פעולה:

groupadd -g 415 מנהלים

השתמש בפקודה usermod כדי להוסיף ג'וןלקבוצה לצורך גישה/ביצוע לקבצים.

usermod -aG מנהלי ג'ון

להשתמש ב mkdir פקודה ליצירת ספרייה:

mkdir /tmp/collaborative_dir

להשתמש ב chgrp הפקודה כדי להקצות את הספרייה ל- מנהלי מערכת קְבוּצָה:

chgrp admins /tmp/collaborative_dir

להשתמש ב chmod פקודה לשינוי הרשאת ספרייה ל-2775. ה-2 סיביות מפעילות את ה-GID, 7 כדי להקצות rwx מלא למשתמש ולקבוצה, בעוד 5 (r-w) לאחרים.

chmod 2775 /tmp/collaborative_dir

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

סו - ג'ון
גע ב-/tmp/collaborative_dir/file.txt

הפקודה su עשויה לתת לך שגיאת אימות. במקרה זה, הקלד את sudo su פקודה כדי לעבור לשורש ולהפעיל מחדש סו - ג'ון כדי לשנות את חשבון המשתמש

כעת רשום את ההרשאות לבדיקת ה-GID bit(s) שנקבעו עבור הספרייה והקובץ החדש שנוצר.

ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt 

בתרחיש טיפוסי, לקובץ שנוצר על ידי John יוקצה לו ג'ון קבוצתי. מכיוון שאתה יוצר את הקובץ בתוך ספריית סיביות מוגדרת של GID, הוא מקצה הרשאות ל- מנהלי מערכת קבוצה, כך שכל מי ששייך לקבוצה, אוהב את המשתמש כריס, תהיה גישה אליו.קָשׁוּר: כיצד ליצור קבצים חדשים בלינוקס באמצעות מגע

Sticky Bits

שלא כמו סיביות SID ו-GID, סיביות דביקות שונות בפונקציונליות מכיוון שהיא מגינה על קבצים וספריות מפני שינוי שמות ומחיקה על ידי משתמשים אחרים. הרשאת קובץ רגילה מאפשרת לכל משתמש עם גישת כתיבה למחוק או לשנות את שם הקובץ. בעוד עם סט ה-sticky bit, זה לא אפשרי אלא אם אתה משתמש השורש או הבעלים של הקובץ.

התרחיש האידיאלי לשימוש בסיביות דביקות הוא הספרייה הנגישה לכל המשתמשים ליצירת קבצים. לדוגמה, השתמש ב- ls -ld הפקודה כדי לבדוק את \tmp הרשאות ספרייה, כדלקמן:

אתה יכול לשים לב שהקטע הדביק ט מחליף את סיביות הביצוע איקס. בצע את קבוצת ההוראות הנתונה כדי ליצור ספריית מחיקה מוגבלת:

כעת צור ספרייה נוספת ב- /tmp תיקיה:

mkdir /tmp/new_dir

שנה את הרשאות הקובץ ל 1777 כדי להגדיר את החלק הדביק (ט) וגישה מלאה לספרייה:

chmod 1777 /tmp/new_dir

כעת העתק כל קובץ מה- /etc תיקייה ל /tmp/new_dir ולשנות את ההרשאות שלו ל 666:

cp /etc/ /tmp/new_dir
chmod 666 /tmp/new_dir/services

רשום את הספרייה ואת כל התוכן שלה כדי להציג הרשאות:

ls -ld /tmp/new_dir /tmp/new_dir/services

אתה יכול להבחין ב-sticky bit במקום ב-execute, כלומר רק ה-root או המשתמש john יכולים למחוק את הקובץ, מכיוון שהקובץ נמצא בתוך ספריית ה-sticky bit.

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

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

כיצד לשמור על הרשאות קבצים בעת העתקת קבצים בלינוקס

רוצה לשמור על הרשאות קבצים בזמן העתקת קבצים בלינוקס? הנה איך לעשות את זה באמצעות cp ו-rsync.

קרא הבא

לַחֲלוֹקצִיוּץאימייל
נושאים קשורים
  • לינוקס
  • ניהול קבצים
  • לינוקס
על הסופר
רומאיסה ניאזי (3 מאמרים שפורסמו)

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

עוד מ-Rumaisa Niazi

הירשם לניוזלטר שלנו

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

לחץ כאן כדי להירשם