פקודת chmod בלינוקס עם דוגמאות

פקודת chmod בלינוקס עם דוגמאות

ה chmod פקודת (שינוי מצב) ב-Linux/UNIX משמשת להגדרה או שינוי של הרשאות קבצים וספריות. לכל קובץ בלינוקס יש בעלים של קבוצה והרשאות משויכות שקובעות מי יכול לקרוא לכתוב או להפעיל את הקובץ. באמצעות chmod מנהלי מערכת ומשתמשים יכולים לשלוט בהרשאות אלו כדי להבטיח גישה ואבטחה נאותים. בואו נבחן את הדוגמה

השתמש בפקודה chmod על ידי מתן ההרשאה 745

פְּקוּדָה:

 chmod 745 newfile.txt  

תְפוּקָה:

chmod

פירוט של -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.txtls -l a.txt   (משמש להצגת כל ההרשאות שיש ל-a.txt)

לאחר ביטול או ביטול שינויים:

ביטול שינויים ב-chmod בלינוקסכאן אנו יכולים לראות שבוצעו שינויים

יישום מעשי של איך להפוך סקריפט לריצה בלינוקס

בלינוקס סקריפטים נכתבים בדרך כלל בשפות כמו 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   לבצע את הסקריפטלבצע את הסקריפט 

סימון זה אומר ללינוקס לחפש בספרייה הנוכחית ( . ) עבור התסריט בשם example.sh .

חידון מוצע חידון ערוך 5 שאלות

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

  • א

    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 מגביל את מחיקת הקבצים לבעלי הקבצים.

פקודת chmod בלינוקס עם דוגמאותהחידון הסתיים בהצלחה הציון שלך:   2 /5 דיוק:  0% התחבר כדי להציג הסבר 1 /5 1 /5 < Previous הבא >