פקודת chmod בלינוקס עם דוגמאות
ה chmod פקודת (שינוי מצב) ב-Linux/UNIX משמשת להגדרה או שינוי של הרשאות קבצים וספריות. לכל קובץ בלינוקס יש בעלים של קבוצה והרשאות משויכות שקובעות מי יכול לקרוא לכתוב או להפעיל את הקובץ. באמצעות chmod מנהלי מערכת ומשתמשים יכולים לשלוט בהרשאות אלו כדי להבטיח גישה ואבטחה נאותים. בואו נבחן את הדוגמה
השתמש בפקודה chmod על ידי מתן ההרשאה 745
פְּקוּדָה:
chmod 745 newfile.txtתְפוּקָה:
![]()
פירוט של
-rwxr--r-x:
- בעלים (
7):rwx> לקרוא לכתוב לבצע - קבוצה (
4):r--> קריאה בלבד - אחרים (
5):r-x> לקרוא ולבצע
הנה הקובץ:
- נגיש באופן מלא (קריאה/כתיבה/ביצוע) על ידי הבעלים
- לקריאה בלבד עבור הקבוצה
- קרא + בצע עבור אחרים
תחביר של הפקודה chmod
chmod [options] [mode] [File_name]כָּאן
- אפשרויות: דגלים אופציונליים שמשנים את ההתנהגות של
chmodפְּקוּדָה. - מצב: ההרשאות שיש להגדיר מיוצגות על ידי מספר אוקטלי בן שלוש ספרות או סימון סמלי (למשל u=rwgo=rx).
- שם_קובץ: שם הקובץ או הספרייה שעבורם יש לשנות את ההרשאות.
אפשרויות זמינות ב-chmod Command Linux
להלן כמה אפשרויות שימושיות של chmod פקודה בלינוקס
| מצב | בַּעַל | קְבוּצָה | אחרים | שימוש אופייני לתסריטים |
|---|---|---|---|---|
| 700 | rwx | --- | --- | סקריפט פרטי (רק אתה יכול להפעיל/לערוך). |
| 711 | rwx | --x | --x | ניתן לביצוע/מעבר בלבד; התוכן אינו קריא. |
| 744 | rwx | ר-- | ר-- | אתה עורך & מפעיל; אחרים יכולים לקרוא (לא לבצע). |
| 750 | rwx | r-x | --- | בר הפעלה לצוות בלבד; מוסתר מאחרים. |
| 754 | rwx | r-x | ר-- | Exec עבור קבוצה לקריאה בלבד עבור אחרים. |
| 755 | rwx | r-x | r-x | נפוץ: כולם יכולים להפעיל רק אתה עורך. |
| 775 | rwx | rwx | r-x | משותף בתוך קבוצה (גם הבעלים וגם הקבוצה יכולים לערוך/להפעיל). |
פֶּתֶק: האפשרויות ב-'chmod' משמשות בעצם לביצוע שינויים בכמות גדולה ולשינוי הרשאות על פני מספר קבצים או ספריות בו-זמנית.
סוגי הרשאות מפתח:
בלינוקס הרשאות לקבוע למי יש שליטה על קובץ או ספרייה. הרשאות אלו מציינות מי יכול לקרוא (לגשת) לכתוב (לערוך או למחוק) או להפעיל (להריץ) קובץ על סמך תפקידי משתמש: קבוצת בעלים ואחרים.
- קרא (
r): מאפשר צפייה בתוכן הקובץ. - כתוב (
w): מאפשר לשנות את הקובץ או הספרייה. - בצע (
x): מאפשר הפעלת הקובץ כתוכנית או כניסה לספרייה.
דוגמאות לשימוש במצב אוקטלי:
נניח שאם ניתן הרשאת קריאה וכתיבה לבעל הקובץ. קריאה של הרשאת כתיבה והפעלה לקבוצה. הרשאת קריאה בלבד לאחר. הם הפקודה שלנו תהיה.
chmod 674 [file_name]כָּאן.
- 6 מייצגים הרשאה של בעל הקובץ שהם (rw-).
- 7 מייצגים הרשאה של הקבוצה שהם (rwx).
- 4 מייצגים רשות של אחר שהוא (ר--).
פֶּתֶק: אתה יכול להציג ולחשב הרשאות קובץ כגון מי יכול לגשת לכתיבה לקרוא (מחיקה או לשנות) או לבצע קובץ עבור קבוצת הבעלים ואחרים (ציבורי) באמצעות chmod מַחשְׁבוֹן.
כאן אנו משתמשים במחשבון כדי להציג את ההרשאות. לדוגמא לבעלים יש הרשאות כתיבה וביצוע קריאה בעוד לקבוצה ואחרים (ציבוריים) יש רק הרשאות קריאה וכתיבה אך לא יכולים להפעיל את הקובץ.
הרשאה מספרית שווה ערך:
תַחבִּיר:
chmod 766 filenameלוּחַ:
| סוג משתמש | הרשאות | בינארי | עֵרֶך |
|---|---|---|---|
| בַּעַל | rwx | 111 | 7 |
| קְבוּצָה | rw- | 110 | 6 |
| אחרים | rw- | 110 | 6 |
דוגמה להחזרת שינויים שנעשו על ידי פקודת 'chmod' בלינוקס
כדי לבטל או לבטל שינויים שנעשו על ידי פקודת 'chmod' בלינוקס אנו יכולים להשתמש ב- `chmod` הפקודה שוב אבל הפעם עלינו להזכיר את ההרשאה הנכונה שאנו רוצים.
להלן השלבים לביטול או ביטול שינויים:
- קבע את ההרשאה הנכונה שאתה רוצה והשתמש שוב בפקודה 'chmod'.
לדוגמא: אם נרצה להחזיר את השינויים ל-'rw-r--r--' (הרשאת קריאה וכתיבה להרשאת קריאה בלבד של בעלים עבור קבוצה ואחרים) לפי זה הערך האוקטלי שלנו יהיה '644' (קריאה = 4 כתיבה=2). - כעת פתח את הספרייה וכתוב את הפקודה הנתונה:
chmod 644 [file_or_directory_name]כאן במקום '[file_or_directory_name]' השתמש בקובץ או בשם הספרייה שלך.
נניח ששם הקובץ שלנו הוא 'a.txt'
לפני ביטול או ביטול שינויים:
ls -l a.txt (משמש להצגת כל ההרשאות שיש ל-a.txt)
לאחר ביטול או ביטול שינויים:
כאן אנו יכולים לראות שבוצעו שינויים
יישום מעשי של איך להפוך סקריפט לריצה בלינוקס
בלינוקס סקריפטים נכתבים בדרך כלל בשפות כמו Bash Python או Perl. אמנם התוכן של הסקריפט הוא חיוני להבטיח שיש לו הרשאות הפעלה, חשוב לא פחות. ללא הרשאות ביצוע לינוקס לא תאפשר לסקריפט לפעול.
שלב 1: נווט אל ספריית הסקריפט
פתח את הטרמינל והשתמש ב-
cdהפקודה כדי לנווט אל הספרייה שבה נמצא הסקריפט שלך.לְדוּגמָה:
cd /path/to/your/scriptשלב 2: בדוק הרשאות נוכחיות
השתמש ב- `
ls`הפקודה עם ה- `-l`אפשרות לרשום את הקבצים בספרייה יחד עם ההרשאות שלהם. שלב זה עוזר לך לזהות את ההרשאות הנוכחיות של הסקריפט שלך:ls -lבדיקת ההרשאה הנוכחית
שלב 3: הפוך את הסקריפט לבר-ביצוע
כדי ליצור קובץ הפעלה של סקריפט, עליך להשתמש ב- `
chmod`פְּקוּדָה. בהנחה שהתסריט שלך נקרא `דוגמה.sh`אתה יכול להפוך אותו לביצוע עם הפקודה הבאה:chmod +x example.shפקודה זו מוסיפה את הרשאת הביצוע (+x) לסקריפט.
שלב 4: אמת שינויים
הפעל את `
ls -l`הפקודה שוב כדי לוודא שלסקריפט יש כעת הרשאות הפעלה. אתה אמור לראות 'x' בשדה ההרשאה עבור הסקריפט:ls -lאימות שינויים לאחר הפיכת הסקריפט לניתנת להפעלה
שלב 5: בצע את הסקריפט
כעת, כאשר לסקריפט שלך יש הרשאות הפעלה, אתה יכול להפעיל אותו באמצעות ה- `
./`סימון ואחריו שם התסריט. לְדוּגמָה:./example.shלבצע את הסקריפט
סימון זה אומר ללינוקס לחפש בספרייה הנוכחית (
חידון מוצע חידון ערוך 5 שאלות.) עבור התסריט בשםexample.sh.איזו הרשאה מספרית מבטיחה שרק בעל הקובץ יכול לקרוא ולכתוב בעוד שקבוצה ואחרים יכולים לקרוא רק את הקובץ?
- א
chmod 777 file.txt
- ב
chmod 664 file.txt
- ג
chmod 644 file.txt
- ד
chmod 600 file.txt
644 > בעלים: rw- group: r-- אחרים: r--.
איזו פקודה במצב סימבולי מבטלת את הרשאת הביצוע ממנה אחרים בלבד בלי לגעת בהרשאות הבעלים או הקבוצה?
- א
chmod a-x script.sh
- ב
chmod o-x script.sh
- ג
chmod go-x script.sh
- ד
chmod u-x script.sh
o-x מסיר זכויות ביצוע רק מ'אחרים'.
איזו תצורת chmod מקודדת בצורה נכונה סכימת הרשאה שבה לבעלים יש סמכות תפעולית מלאה, לקבוצה יש יכולת הפעלה בלבד ואחרים יכולים רק לבדוק ללא שינוי?
- א
chmod 751 app.sh
- ב
chmod 754 app.sh
- ג
chmod 715 app.sh
- ד
chmod 571 app.sh
751 > בעלים: rwx group: r-x אחרים: --x (ביצוע בלבד).
איזו פקודה מחילה מודל הרשאה המבטיח שכל קובץ שנוצר בתוך ספרייה יורש אוטומטית את קבוצת הספרייה ללא קשר לבעלות המשתמש?
- א
chmod +t shared_dir/
- ב
chmod g+s shared_dir/
- ג
chmod u+s shared_dir/
- ד
chmod 777 shared_dir/
g+s (setgid) מאלץ קבצים חדשים לרשת את קבוצת הספרייה.
סקריפט חייב להיות בר הפעלה עבור כל המשתמשים שניתן לשינוי רק על ידי בעליו והספרייה חייבת למנוע מכל אחד מלבד הבעלים האמיתי של הקובץ למחוק או לשנות את שמות הקבצים. איזה זוג פקודות עונה על מודל האבטחה הזה?
- א
chmod 777 deploy.sh; chmod +t /var/scripts
- ב
chmod 755 deploy.sh ; chmod +t /var/scripts
- ג
chmod 700 deploy.sh; chmod g+s /var/scripts
- ד
chmod 755 deploy.sh ; chmod 777 /var/scripts
755 > הבעלים כותב הכל יכול לבצע; +t מגביל את מחיקת הקבצים לבעלי הקבצים.
החידון הסתיים בהצלחה הציון שלך: 2 /5 דיוק: 0% התחבר כדי להציג הסבר 1 /5 1 /5 < Previous הבא >
ls -l a.txt (משמש להצגת כל ההרשאות שיש ל-a.txt)
כאן אנו יכולים לראות שבוצעו שינויים
בדיקת ההרשאה הנוכחית
אימות שינויים לאחר הפיכת הסקריפט לניתנת להפעלה
לבצע את הסקריפט