OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

chmod - שנה מצב קובץ

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

תמונה


מה זה לעזאזל אוקטלי?

אוקטלי (בסיס 8), ובן דודו, הקסדצימלי (בסיס 16) הן מערכות מספרים המשמשות לעתים קרובות לביטוי מספרים במחשבים. אנו בני האדם, בשל העובדה שאנו (או לפחות רובנו) נולדנו עם עשר אצבעות, סופרים באמצעות מערכת מספרים של בסיס 10. מחשבים, לעומת זאת, נולדו עם אצבע אחת בלבד וכך עושים את כל הספירה שלהם בבינארי (בסיס 2). למערכת המספרים שלהם יש רק שתי ספרות, 0 ו-1. אז בבינארי, הספירה נראית כך:

0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011 ...

באוקטלית, הספירה נעשית עם הספרות אפס עד שבע, כך: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21...

ספירה הקסדצימלית משתמשת בספרות אפס עד תשע בתוספת האותיות "A" עד "F":

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13...

אמנם אנחנו יכולים לראות את התחושה בבינארי (מכיוון שלמחשבים יש רק אצבע אחת), למה הם אוקטליים והקסדצימליים טובים? התשובה קשורה לנוחות אנושית. פעמים רבות, חלקים קטנים של נתונים מיוצגים במחשבים כ דפוסי סיביות. קחו למשל צבע RGB. ברוב צגי המחשב, כל פיקסל מורכב משלושה רכיבי צבע: שמונה סיביות של אדום, שמונה סיביות של ירוק ושמונה סיביות של כחול. כחול בינוני מקסים יהיה מספר בן 24 ספרות:

010000110110111111001101

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

436FCD

מכיוון שהספרות במספר ההקסדצימלי "מסתדרות" עם הביטים במספר הבינארי, אנו יכולים לראות שהרכיב האדום של הצבע שלנו הוא 43, הירוק 6F והתקליטור הכחול.

בימינו, סימון הקסדצימלי (המכונה לעתים קרובות "הקס") נפוץ יותר מאוקטלי, אבל כפי שנראה בקרוב, היכולת של אוקטל לבטא שלוש סיביות בינאריות תהיה שימושית מאוד...


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


סכימה המשמשת לאחסון מצב הקובץ. טבלה זו מראה למה אנו מתכוונים:


טבלה 9-4: מצבי קובץ בבינארי ובאוקטלי


אוקטלי

בינרי

מצב קובץ

0

000

---

1

001

--איקס

2

010

-וו-

3

011

-wx

4

100

ר--

5

101

rx

6

110

rw -

7

111

rwx

על ידי שימוש בשלוש ספרות אוקטליות, נוכל להגדיר את מצב הקובץ עבור הבעלים, הבעלים של הקבוצה ו

עוֹלָם:



[me@linuxbox ~]$ > foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 me me 0 2016-03-06 14:52 foo.txt [me@linuxbox ~]$ chmod 600 foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw------- 1 me me 0 2016-03-06 14:52 foo.txt

[me@linuxbox ~]$ > foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw-rw-r-- 1 me me 0 2016-03-06 14:52 foo.txt [me@linuxbox ~]$ chmod 600 foo.txt

[me@linuxbox ~]$ ls -l foo.txt

-rw------- 1 me me 0 2016-03-06 14:52 foo.txt


על ידי העברת הטיעון "600", הצלחנו להגדיר את ההרשאות של הבעלים לקרוא ולכתוב תוך הסרת כל ההרשאות מבעל הקבוצה ומהעולם. למרות שזכור את המיפוי האוקטלי לבינארי עשוי להיראות לא נוח, בדרך כלל תצטרך להשתמש רק בכמה נפוצים: 7 (rwx) 6 (rw -) 5 (rx) 4 (ר--), ו- 0 (---).

chmod תומך גם בסימון סמלי לציון מצבי קובץ. סימון סימבולי מתחלק לשלושה חלקים: על מי ישפיע השינוי, איזו פעולה תתבצע ואיזו הרשאה תוגדר. כדי לציין מי מושפע, שילוב של התווים "u", "g", "o" ו-"a" משמש כדלקמן:


טבלה 9-5: סימון סימבולי chmod


משמעות הסמל

משמעות הסמל

u קיצור של "משתמש" אך פירושו בעל הקובץ או הספרייה.


תמונה

g בעל קבוצה.


תמונה


תמונה

o קיצור של "אחרים", אבל פירושו עולם.


תמונה

קיצור של "הכל". השילוב של "u", "g" ו-"o".


תמונה


אם לא צוין תו, "הכל" יונח. הפעולה עשויה להיות "+" המציין שיש להוסיף הרשאה, "-" המציין שיש לקחת הרשאה, או "=" המציין שיש להחיל רק את ההרשאות שצוינו ושכל השאר יש להסיר.

ההרשאות מצוינות עם התווים "r", "w" ו- "x". הנה כמה דוגמאות לסימון סימבולי:


טבלה 9-6: דוגמאות לסימון סימבולי chmod


משמעות סימון

משמעות סימון

u+x הוסף הרשאת ביצוע עבור הבעלים.


תמונה

ux הסר הרשאת ביצוע מהבעלים.


תמונה

+x הוסף הרשאת ביצוע עבור הבעלים, הקבוצה והעולם.

שווה ערך ל a+x.


תמונה

o-rw הסר את הרשאת הקריאה והכתיבה מכל אחד מלבד הבעלים ובעל הקבוצה.


תמונה

go=rw הגדר לבעל הקבוצה ולכל אדם מלבד הבעלים הרשאת קריאה וכתיבה. אם לבעל הקבוצה או לעולם היו בעבר הרשאות הפעלה, הן יוסרו.


תמונה

u+x,go=rx הוסף הרשאת ביצוע עבור הבעלים והגדר את ההרשאות עבור הקבוצה ואחרים לקריאה וביצוע. מפרטים מרובים עשויים להיות מופרדים בפסיקים.


תמונה


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

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


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: