במאמר זה, נחקור את החשיבות של משתמשי לינוקס מאורגנים כהלכה. נתאר זכויות גישה, החל מאיך ליצור ולהגדיר משתמשים וכלה באיך להעניק גישה לקבצים ותיקיות ספציפיות. נדון גם בכמה כלי אבטחה חשובים, כמו sudo ו-SELinux, שעוזרים להגן על המערכת מפני פעילות לא רצויה.
החשיבות של ניהול משתמשים וזכויות גישה בלינוקס
בעולם לינוקס, ניהול משתמשים והרשאות גישה ממלאים תפקיד מפתח. דמיינו את לינוקס כדירה גדולה שבה כל משתמש הוא דייר וכל קובץ הוא חדר. ניהול משתמשים הוא כמו להקצות לכל דייר את המפתח הייחודי שלו, בעוד שהרשאות גישה הן מה שהוא יכול לעשות בחדר שלו.
כאשר נוצר משתמש, הוא מקבל שם ומזהה ייחודי ( UID ), כמו מפתח אישי לדירה. למשתמש יש גם קבוצה , המאחדת אותו עם דיירים אחרים. הקבוצה היא כמו מועדון שבו חברים חולקים הרשאות משותפות.
זכויות גישה לקבצים מחולקות לשלוש קטגוריות: בעלים ( משתמש ), קבוצה ואחרים . לכל מפתח (משתמש) יכולות להיות הרשאות ייחודיות לקריאה, כתיבה וביצוע עבור כל קטגוריה. לדוגמה, לבעל הקובץ יכולות להיות הרשאות קריאה וכתיבה, לקבוצה - רק קריאה, ולאחרים - כלום.
תשומת לב מיוחדת ראויה למדיניות אבטחה כמו sudo ו- SELinux , המשמשות במערכות לינוקס. Sudo היא פקודה מיוחדת המאפשרת למשתמשים רגילים להשתמש באופן זמני בהרשאות משתמש-על (root) כדי לבצע משימות ספציפיות שבדרך כלל זמינות רק למנהלי מערכת. זה עוזר למנוע שגיאות מקריות או שימוש לרעה בהרשאות משתמש-על. בעת שימוש ב- sudo , המשתמש נדרש בדרך כלל להזין את הסיסמה שלו כדי לאשר את זהותו. לאחר מכן, הוא יכול לבצע פקודות עם הרשאות משתמש-על (root) בהתאם לכללים שנקבעו בקובץ sudoers.
SELinux היא שכבת אבטחה נוספת עבור מערכת ההפעלה לינוקס. היא מנטרת אילו תוכניות וקבצים ניתנים לשימוש במערכת ומגבילה את הגישה אליהם כדי למנוע חדירות והתקפות. זה הופך את השרת למאובטח יותר על ידי מניעת ניסיונות פריצה או פעולות זדוניות.
יצירה וניהול של משתמשים
כיצד ליצור משתמש בלינוקס
משתמשי לינוקס נוצרים בדרך כלל באמצעות הפקודה useradd . לדוגמה, כדי ליצור משתמש בשם "username", עליך להזין:
useradd username
כיצד להגדיר סיסמת משתמש לינוקס
לאחר יצירת משתמש, החשבון שלו אינו מוגן בסיסמה. כדי להגדיר סיסמה עבור משתמש חדש, השתמש בפקודה passwd :
passwd username
כאשר שם משתמש הוא שם המשתמש שעבורו מוגדרת הסיסמה.
כיצד להציג רשימה של משתמשים בלינוקס
כדי להציג רשימת משתמשים בלינוקס באמצעות פקודה אחת בטרמינל, ניתן להשתמש בפקודת cut :
cut -d: -f1 /etc/passwd
פקודה זו קוראת את תוכן הקובץ /etc/passwd , המכיל מידע על כל המשתמשים.
כדי לקבל מידע על משתמש ספציפי, אתה יכול להשתמש בפקודה:
id username
פעולה זו תציג את ה-UID , ה-GID וה- Groups של המשתמש.
מחיקת משתמש לינוקס
כדי למחוק משתמש, השתמשו בפקודה userdel :
userdel username
עם זאת, פקודה זו אינה מוחקת את הקבצים בתיקיית הבית של המשתמש. כדי להסירם, ניתן להשתמש באפשרות -r :
userdel -r username
פעולה זו תמחק את שם המשתמש יחד עם ספריית הבית שלו וכל הקבצים בתוכה.
שינוי משתמש לינוקס
כדי לשנות מידע על משתמש, השתמש בפקודה usermod . הכלי משתמש בתחביר:
usermod argument user
רשימה מלאה של ארגומנטים אפשריים מוצגת בעזרה של כלי השירות:
לדוגמה, כדי לשנות את ספריית הבית של משתמש, תשתמש בפקודה:
usermod -d /new/path/to/directory username
יצירה וניהול של קבוצות משתמשים בלינוקס
קבוצות משתמשים בלינוקס מאפשרות למנהלי מערכת לקבץ משתמשים עם זכויות גישה דומות. זה מקל על ניהול זכויות הגישה ומשפר את אבטחת המערכת על ידי מתן אפשרות להגדיר זכויות ברמת הקבוצה, במקום לעשות זאת עבור כל משתמש בנפרד. כדוגמה, נשקול את קבוצת המפתחים עם מנהל המשתמש.
כיצד ליצור קבוצת משתמשים בלינוקס
כדי ליצור קבוצה חדשה, השתמשו בפקודה groupadd עם שם הקבוצה החדשה:
sudo groupadd group_name
בדוגמה שלנו, הפקודה תיראה כך:
sudo groupadd developers
כיצד למחוק קבוצת משתמשים בלינוקס
כדי למחוק קבוצה, השתמשו בפקודה groupdel :
sudo groupdel group_name
לפיכך, הפקודה:
sudo groupdel developers
ימחק את הקבוצה בשם מפתחים.
הוספת משתמשים לקבוצה
כדי להוסיף משתמש לקבוצה ספציפית, השתמש בפקודה usermod :
sudo usermod -aG group_name user_name
לדוגמה:
sudo usermod -aG developers admin
פקודה זו תוסיף את המשתמש בשם admin לקבוצת המפתחים.
הסרת משתמשים מקבוצה
כדי להסיר משתמש מקבוצה, השתמשו בפקודה deluser :
sudo deluser user_name group_name
הפקודה להסרת המשתמש מנהל מקבוצת המפתחים :
sudo deluser admin developers
הצגת רשימות קבוצות בלינוקס
כדי לצפות ברשימה של כל הקבוצות במערכת, השתמשו בפקודה cat עם הקובץ /etc/group :
cat /etc/group
פקודה זו תציג רשימה של כל הקבוצות במערכת.
בדיקת חברות בקבוצת משתמשים
לאחר ביצוע פעולות, ניתן לבדוק לאילו קבוצות משתמש שייך באמצעות פקודת הקבוצות:
groups user_name
לפיכך, חקרנו את היסודות של ניהול קבוצות משתמשים בלינוקס. כעת, נעבור לשלב הבא – בחינת הקצאת זכויות הגישה לקבצים וספריות. תהליך זה מאפשר לקבוע אילו פעולות משתמשים או קבוצות יכולים לבצע לגבי קבצים וספריות ספציפיות, ומבטיח ניהול אבטחה יעיל וגישה למשאבי המערכת.
הקצאת זכויות גישה לקבצים וספריות
ייצוג סמלי של זכויות גישה
כפי שכבר גילינו, ישנן 3 קטגוריות של משתמשים בלינוקס: בעלים ( user ), קבוצה ואחרים . לכל אחד מהם עשויות להיות קבוצות מסוימות של גישה לקבצים או ספריות:
- קריאה (קריאה - r): מאפשר צפייה בתוכן של קובץ או ספרייה.
- Write (Write - w): מספק את היכולת לשנות קובץ או ליצור קובץ חדש בתוך הספרייה. עבור ספרייה, זה מאפשר גם מחיקת קבצים ממנה.
- Execute (Execute - x): מאפשר הפעלת הקובץ (אם הוא קובץ הפעלה) או כניסה לספרייה (אם היא ספריה).
במערכות משפחת לינוקס, זכויות הגישה מיוצגות על ידי מחרוזת של 10 תווים. התו הראשון מציין את סוג הקובץ (קובץ רגיל, ספרייה וכו'), ותשע הנותרים הם שלוש קבוצות של שלושה תווים לכל אחת מקבוצות המשתמשים. להבנה, הבה נשקול דוגמה.
הרשאות גישה -rwxr-xr-- משמעותן:
- התו הראשון (-) מציין את סוג הקובץ (במקרה זה, קובץ רגיל).
- שלוש תווים עבור הבעלים (rwx) מראים שלבעלים יש זכויות קריאה, כתיבה וביצוע.
- שלושה תווים לקבוצה (rx) מציינים שלחברי הקבוצה יש זכויות קריאה וביצוע בלבד.
- שלושה תווים עבור אחרים (r--) פירושם שמשתמשים אחרים יכולים לקרוא רק את הקובץ.
זכויות גישה מוגדרות באמצעות הפקודה chmod , והתחביר נראה כך:
chmod [options] mode file(s)
איפה:
- [אפשרויות] - פרמטרים נוספים, כגון -R לשינוי רקורסיבי של זכויות גישה בספרייה ובתתי הספריות שלה.
- mode - מחרוזת מיוחדת המציינת אילו זכויות גישה משתנות ולמי. ניתן לציין את המצב על ידי סמלים (r, w, x) וביטים (0 או 1). ניתן להשתמש גם בערכים מספריים של מצב (נדבר עליהם מאוחר יותר)
- קבצים - קבצים או ספריות שעליהם מוחלים שינויים.
כלי זה הוא כלי רב עוצמה, אז נסתכל רק על כמה פקודות בסיסיות כדוגמה.
שנה זכויות גישה לקובץ כך שלבעלים יהיו זכויות קריאה וכתיבה, לקבוצה יש זכויות קריאה בלבד ולמשתמשים אחרים אין זכויות:
chmod u=rw,g=r,o= filename
הגדר זכויות גישה לכל המשתמשים לקריאה ולכתיבה לקובץ:
chmod a+rw filename
שנה באופן רקורסיבי את זכויות הגישה לכל הקבצים ותתי הספריות בספרייה:
chmod -R u+rwx directory
ייצוג מספרי של זכויות גישה
בייצוג המספרי, לכל קטגוריית משתמש (בעלים, קבוצה, אחרים) יש את המספר שלה, והשילוב של המספרים הללו קובע את זכויות הגישה הסופיות. בדומה לסמלי, לכל אחת משלוש הזכויות יש את הערך שלה, אבל במספרים:
- קרא (קרא) - ערך 4
- כתוב (כתוב) - ערך 2
- בצע (ביצוע) - ערך 1
ערכים מספריים משמשים גם לקביעת סוג המשתמש:
- בעל הקובץ (משתמש) - הספרה הראשונה
- קבוצת הבעלים (קבוצה) - הספרה השנייה
- משתמשים אחרים (אחרים) - הספרה השלישית
לפיכך, הייצוג המספרי המלא של זכויות הגישה לקבצים מורכב משלוש ספרות, שכל אחת מהן מייצגת את סכום ערכי הזכויות עבור קטגוריית משתמש מסוימת. זה קצת יותר נוח משימוש ב-10 תווים בייצוג סמלי. ההנהלה במקרה זה תיראה כך:
chmod XYZ file
כאשר X , Y ו- Z הם מספרים המייצגים זכויות גישה עבור הבעלים, הקבוצה ומשתמשים אחרים בהתאמה.
לדוגמה, כדי להעניק לבעלים זכויות גישה מלאות (קריאה, כתיבה וביצוע), והקבוצה ומשתמשים אחרים רק קוראים ומבצעים, תוכל להשתמש בפקודה:
chmod 755 file
הבה נבחן דוגמאות אחרות:
chmod 700 file
רק לבעלים יש זכויות קריאה, כתיבה וביצוע, בעוד שלקבוצה ולמשתמשים אחרים אין זכויות גישה.
chmod 644 file
לבעלים יש זכויות קריאה וכתיבה, בעוד לקבוצה ולמשתמשים אחרים יש רק זכויות קריאה.
chmod 751 file
לבעלים יש זכויות מלאות, לקבוצה יש זכויות קריאה וביצוע, ולמשתמשים אחרים יש רק זכויות ביצוע.
כפי שהזכרנו קודם, לכלי יש פונקציונליות נרחבת מאוד. במקרים מסוימים, האפשרויות הזמינות בסעיף "עזרה" אינן מספיקות:
שימו לב לשורה האחרונה. שימוש בפקודה זו פותח תיעוד מפורט יותר על הכלי. ניתן גם לבקר בדף הוויקיפדיה הרשמי של כלי השירות , שם תוכלו למצוא מידע מפורט על Chmod.
סיכום
משתמשי לינוקס והניהול שלהם חשובים מאוד לאבטחה ולפעולה יציבה של מערכת ההפעלה. במאמר זה, הדגשנו את החשיבות של ניהול יעיל של משתמשים וזכויות גישה בלינוקס, המכסים את היצירה והניהול של משתמשים, עבודה עם קבוצות משתמשים והקצאת זכויות גישה לקבצים וספריות.