29/06/2024

מדריך לינוקס למתחילים בעברית חלק 14 - ניהול קבוצות בלינוקס.


 

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

בכל מערכת הפעלה יש משתמשים וקבוצות, על משתמשים כבר עברנו, עכשיו נעבור על קבוצות.

כמו בווינדוס ומאק אפשר לבצע את אותן הפעולות דרך ממשק המשתמש בלינוקס (במידה וממשק המשתמש קיים), יש מערכות שבהן אין ממשק משתמש כמו לינוקס בגירסת Cent-Os או Gentoo וצריך לדעת לנהל שם משתמשים, אל תדאגו, גם כאן ההסבר הוא עם הגישה שלי, ואני מבטיח לכם שיהיה לכם קל ופשוט להבין את הכל :).

במדריך זה נלמד:
1)  בשביל מה צריך קבוצות?
2)  איך לבדוק לאיזו קבוצה שייך קובץ\תיקייה?
3) איך לבדוק באיזו קבוצה נמצא המשתמש שלי?
4) איך לבדוק באיזו קבוצה נמצא משתמש אחר?
5) מה זה קובץ etc/groups?
6) איך יוצרים קבוצה בלינוקס?
7) איך מוחקים קבוצה בלינוקס?
8) איך להוסיף משתמש לקבוצה בלינוקס?
9) איך לשנות שם של קבוצה בלינוקס?
10) מה זה קבוצה ראשית ומשנית בלינוקס?




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

2.איך לבדוק לאיזו קבוצה שייך קובץ\תיקייה?

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



3. איך לבדוק באיזו קבוצה נמצא המשתמש שלי?

לצורך הצגת הקבוצות שהמשתמש שלי חבר בהן נקיש את הפקודה groups:



4. איך לבדוק באיזו קבוצה נמצא משתמש אחר?

לצורך הצגת הקבוצות שהמשתמש חבר בהן, נקיש groups [user_name]:




5. מה זה קובץ etc/groups?

קובץ זה מחזיק רשימה של כלל הקבוצות עם מספר המזהה שלהן (ה ID), ניתן לראות אותו בנתיב הבא etc/groups

לצורך הצגת התוכן נשתמש בפקודה cat, בצורה זאת: cat /etc/group:


מדובר ברשימה המחולקת לעמודות, כל עמודה מופרדת מעמודה אחרת בעזרת ":", להלן מקרא (משמאל לימין)
  • עמודה ראשונה - שם הקבוצה (root, deamon, bin, mail, news וכד') - בתהליך יצירת המשתמש, המערכת אוט' מייצרת גם קבוצה על שמו, ומוסיפה את אותו המשתמש לאותה הקבוצה.
  • עמודה שניה - הסיסמא של הקבוצה (לא נכנס לזה, מהסיבה הפשוטה - אף אחד לא משתמש בזה) - מסומן על ידי X.
  • עמודה שלישית - מזהה של הקבוצה - GID, יחודי לכל קבוצה, בדומה למזהה של משתמש שגם הוא יחודי.
  • עמודה רביעית - החלק האחרון, שהוא ":" ואחריו כביכול אין כלום, בעצם במידה ואין אף משתמש בקבוצה הזאת, לא יהיה כלום במידה ויהיה משתמש בקבוצה הזאת, יהיו שם שמות של משתמשים ניתן לראות כאן בדוגמא, משתמשים שנמצאים בתוך קבוצת users:


6. איך יוצרים קבוצה בלינוקס?

לצורך יצירת קבוצה, נריץ את הפקודה sudo groupadd [group_name]:


7. איך מוחקים קבוצה בלינוקס?

לצורך מחיקת קבוצה, נריץ את הפקודה sudo groupdel [group_name]:



8. איך להוסיף משתמש לקבוצה?

כמו הרבה דברים בלינוקס, גם כאן ישנן כמה דרכים לבצע הוספה של משתמש לקבוצה משנית (אין הבדל בין קבוצה ראשית או משנית, משתמש יכול להיות חבר בכמה קבוצות), לצורך הוספה של משתמש לקבוצה מסוימת נשתמש בפקודה usermod, בצורה הזאת:[user_name] sudo usermod -a -G [group_name],
 אפשר לקצר את זה ל [user_name] sudo usermod -aG [group_name], המשמעות של ה "a-" היא "Append" (הוספה), ולאחר מכן ה"G" מסמל "Group" (קבוצה):

ניתן לראות שהמשתמש "lev2" עכשיו חבר בקבוצת "levs_test":


נקח לדוגמא את המשתמש שלי lev, אני אוסיף אותו עכשיו לקבוצה levs_test2 אתם תראו, שהוא עדיין לא יופיע בקבוצת levs_test2 :


הסיבה מאוד פשוטה, ברגע שאני מריץ את groups הוא מראה לי את כל הקבוצות שאני נמצא בהן בסשן הנוכחי הזה, אם אני רוצה לראות את הקבוצה שאליה הוספתי את המשתמש שלי, אני אצטרך להריץ groups [user_name] ואז אוכל לראות את השינוי שביצעתי:



בשביל שאוכל לראות את השינוי עם groups בלבד, אני צריך לבצע logoff ואז login למערכת ואז אוכל לראות את הקבוצות שאני נמצא בהן, בתצלום מסך זה,(בחלק שמסומן כ"1") הראתי שביצעתי יציאה מהסשן (מהחיבור) ולאחר מכן התחברתי שוב פעם ובחלק השני (מסומן כ"2") ניתן לראות שהרצתי את הפקודה groups ואז ראו את השינוי שביצעתי:




8.א איך להסיר משתמש מקבוצה?

לצורך הסרת משתמש מקבוצה נריץ את הפקודה: sudo deluser [user_name] [group_name]



8.ב הסבר על הפקודה gpasswd בלינוקס.
ניתן להוסיף משתמש לקבוצה אחרת גם בעזרת הפקודה gpasswd, הפקודה הזאת מבצעת את אותו הדבר, רק הסינטקס שלה שונה, sudo gpasswd -a [user_name] [group_name]


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

בשביל להסיר משתמש עם הפקודה הזאת נריץ את sudo gpasswd -d [user_name] [group_name]

9. איך לשנות שם של קבוצה בלינוקס?

לצורך ביצוע של שינוי שם קבוצה, נריץ את הפקודה: sudo groupmod  -n [new_group_name] [old_group_name]



לאחר מכן נבדוק את תוכן הקובץ etc/group ונראה שאכן יש קבוצה בשם levs_test3 עם משתמשים בתוכה,
לצורך קיצור הדרך נבצע חיפוש עם פקודה שכבר למדנו בעבר grep, בצורה זאת : cat /etc/group |grep levs_test3



10. הסבר על קבוצה ראשית ומשנית בלינוקס.

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

בשביל לשנות את הקבוצה הראשית של המשתמש נריץ את הפקודה [user_name] [group_name] sudo usermod -g, אני לא ממליץ לעשות את זה בכל מקרה, כי יש כמה דברים שצריך לבצע לאחר מכן, כמו כן אתם כפי הנראה אף פעם לא תצטרכו לעשות את זה, לכן אני לא מפרט על הנושא, רק רציתי שתדעו שיש אופציה כזאת.

זה הכל להפעם,

המייל שלי לכל שאלה: levl@leidertech.co.il

להלן סרטון מצולם של המדריך:



אין תגובות:

הוסף רשומת תגובה

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

תודה :)