OnWorks Linux ו-Windows Online WorkStations

לוגו

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

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

3.4.2. הכלים


3.4.2.1. הפקודה chmod


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


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


asim:~> ./שלום

bash: ./hello: מתורגמן גרוע: הרשות נדחתה


asim:~> חתול שלום

#! / bin / bash

הד "שלום, עולם"


asim:~> שלום

-rw-rw-r-- 1 asim asim 32 בינואר 15 16:29 שלום asim:~> chmod u+x שלום

asim:~> ./שלום

שלום עולם


asim:~> שלום

-rwxrw-r-- 1 asim asim 32 בינואר 15 16:29 שלום*

asim:~> ./שלום

bash: ./hello: מתורגמן גרוע: הרשות נדחתה


asim:~> חתול שלום

#! / bin / bash

הד "שלום, עולם"


asim:~> שלום

-rw-rw-r-- 1 asim asim 32 בינואר 15 16:29 שלום asim:~> chmod u+x שלום

asim:~> ./שלום

שלום עולם


asim:~> שלום

-rwxrw-r-- 1 asim asim 32 בינואר 15 16:29 שלום*

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


תמונה

asim:~> chmod u+rwx,go-rwx שלום


asim:~> ll -l

שלום

-rwx------

1 אסים

אסים

32 בינואר 15 16:29 שלום*

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


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


טבלה 3-9. הגנה על קבצים עם chmod


פיקוד

משמעות

chmod 400 פילה

כדי להגן על קובץ מפני החלפה בשוגג.

chmod 500

בספרייה

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


chmod 600 פילה

קובץ פרטי שניתן לשנות רק על ידי המשתמש שהזין פקודה זו.

chmod 644 פילה

קובץ קריא לציבור שניתן לשנות רק על ידי המשתמש המנפיק.

chmod 660 פילה

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

chmod 700 פילה

מגן על קובץ מפני כל גישה של משתמשים אחרים, בעוד שלמשתמש המנפיק יש עדיין גישה מלאה.

chmod 755

בספרייה

עבור קבצים שאמורים להיות ניתנים לקריאה ולהפעלה על ידי אחרים, אך ניתנים לשינוי רק על ידי המשתמש המנפיק.

chmod 775 פילה

מצב שיתוף קבצים רגיל עבור קבוצה.

chmod 777 פילה

כולם יכולים לעשות הכל לקובץ הזה.

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


תמונה

3.4.2.2. כניסה לקבוצה אחרת


כשאתה מקליד id בשורת הפקודה, אתה מקבל רשימה של כל הקבוצות שאולי אתה יכול להשתייך אליהן, לפניהם שם המשתמש והמזהה שלך ושם הקבוצה והמזהה שאתה מחובר אליהם כרגע. עם זאת, במערכות לינוקס רבות אתה יכול להיות מחובר באופן פעיל רק לקבוצה אחת בכל פעם. כברירת מחדל, זה פעיל או קבוצה ראשונית הוא זה שאתה מקבל מ- / etc / passwd קוֹבֶץ. השדה הרביעי של קובץ זה מכיל את מזהה הקבוצה הראשי של המשתמשים, אשר נבדק ב- / וכו '/ קבוצה קוֹבֶץ. דוגמה:


asim:~> id

uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)


asim:~> grep אסים / etc / passwd

asim:x:501:501:Asim El Baraka:/home/asim:/bin/bash


asim:~> grep 501 / וכו '/ קבוצה

asim:x:501:

asim:~> id

uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)


asim:~> grep אסים / etc / passwd

asim:x:501:501:Asim El Baraka:/home/asim:/bin/bash


asim:~> grep 501 / וכו '/ קבוצה

asim:x:501:

השדה הרביעי בשורה מ / etc / passwd מכיל את הערך "501", המייצג את הקבוצה אסים בדוגמה לעיל. מ / וכו '/ קבוצה נוכל לקבל את השם המתאים לזיהוי הקבוצה הזה. כאשר מתחברים לראשונה למערכת, זו הקבוצה ש אסים יהיה שייך ל.


תמונהערכת קבוצה פרטית של משתמש

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

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


asim:/var/www/html> newgrp אינטרנט


asim:/var/www/html> id

uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)

asim:/var/www/html> newgrp אינטרנט


asim:/var/www/html> id

uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)

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


תמונה


asim:/var/www/html> מבחן מגע


asim:/var/www/html> ls -l מבחן

-rw-rw-r-- 1 asim web 0 יוני 10 15:38 מבחן

asim:/var/www/html> מבחן מגע


asim:/var/www/html> ls -l מבחן

-rw-rw-r-- 1 asim web 0 יוני 10 15:38 מבחן

כניסה לקבוצה חדשה מונעת ממך להשתמש chown (ראה סעיף 3.4.2.4) או להתקשר למנהל המערכת שלך כדי לשנות עבורך בעלות.


ראה את דף האדם עבור newgrp לקבלת מידע נוסף.


תמונה

3.4.2.3. מסכת הקובץ


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


ברט:~> אומסק

0002

ברט:~> אומסק

0002

במקום להוסיף את הערכים הסמליים זה לזה, כמו עם chmod, לחישוב ההרשאה על קובץ חדש יש להפחית אותם מכלל זכויות הגישה האפשריות. עם זאת, בדוגמה שלמעלה אנו רואים 4 ערכים מוצגים, אך יש רק 3 קטגוריות הרשאות: המשתמש, קבוצה ו אַחֵר. האפס הראשון הוא חלק מהגדרות תכונות הקובץ המיוחדות, בהן נדון בסעיף 3.4.2.4 ובסעיף 4.1.6. יכול להיות באותה מידה שהאפס הראשון הזה לא יוצג במערכת שלך בעת הכניסה ל- אומסק הפקודה, וכי אתה רואה רק 3 מספרים המייצגים את מסיכת ברירת המחדל ליצירת קובץ.


לכל מערכת דמוית UNIX יש פונקציית מערכת ליצירת קבצים חדשים, הנקראת בכל פעם שמשתמש משתמש בתוכנה שיוצרת קבצים חדשים, למשל, בעת הורדת קובץ מהאינטרנט, בעת שמירת מסמך טקסט חדש וכן הלאה. פונקציה זו יוצרת גם קבצים חדשים וגם ספריות חדשות. הרשאת קריאה, כתיבה והפעלה מלאה ניתנת לכולם בעת יצירת ספרייה חדשה. בעת יצירת קובץ חדש, פונקציה זו תעניק הרשאות קריאה וכתיבה לכולם, אך תגדיר את הרשאות ההפעלה ללא הרשאות עבור כל קטגוריות המשתמש. זה, לפני החלת המסכה, לספרייה יש הרשאות 777 or rwxrwxrwx, קובץ רגיל 666 or רו-רוו-רוו-.


תמונה

אל האני אומסק הערך מופחת מהרשאות ברירת המחדל הללו לאחר שהפונקציה יצרה את הקובץ או הספרייה החדשים. לפיכך, לספרייה יהיו הרשאות של 775 כברירת מחדל, קובץ 664, אם ערך המסכה הוא (0) 002. זה מודגם בדוגמה שלהלן:


ברט:~> mkdir newdir


ברט:~> ls -ld newdir

drwxrwxr-x 2 ברט ברט

4096 28 בפברואר 13:45 newdir/

ברט:~> mkdir newdir


ברט:~> ls -ld newdir

drwxrwxr-x 2 ברט ברט


ברט:~> גע בקובץ חדש


ברט:~> ls -l קובץ חדש

-רוו-רוו-ר-- 1 ברט ברט

0 בפברואר 28 13:52 קובץ חדש

ברט:~> גע בקובץ חדש


ברט:~> ls -l קובץ חדש

-רוו-רוו-ר-- 1 ברט ברט


תמונהקבצים מול ספריות

ספרייה מקבלת יותר הרשאות כברירת מחדל: יש לה תמיד את לבצע רְשׁוּת. אם לא יהיה את זה, זה לא היה נגיש. נסה זאת על ידי chmodding ספרייה 644!

אם אתה מתחבר לקבוצה אחרת באמצעות ה newgrp הפקודה, המסכה נשארת ללא שינוי. לפיכך, אם הוא מוגדר ל 002, קבצים וספריות שאתה יוצר בזמן שהייתך בקבוצה החדשה יהיו נגישים גם לשאר החברים בקבוצה זו; אתה לא צריך להשתמש chmod.


אל האני שורש למשתמש יש בדרך כלל הרשאות יצירת קבצים מחמירות יותר:


[root@estoban root]# umask 022

[root@estoban root]# umask 022

ברירות מחדל אלה מוגדרות בכל המערכת בקבצי התצורה של משאבי המעטפת, למשל / Etc / bashrc or

/etc/profile. אתה יכול לשנות אותם בקובץ תצורת המעטפת שלך, ראה פרק 7 על התאמה אישית של סביבת המעטפת שלך.


תמונה

3.4.2.4. שינוי בעלות משתמש וקבוצה


כאשר קובץ נמצא בבעלות המשתמש או הקבוצה הלא נכונים, ניתן לתקן את השגיאה באמצעות chown (שנה בעלים) ו chgrp (שינוי קבוצה) פקודות. שינוי בעלות על קבצים הוא משימת ניהול מערכת תכופה בסביבות שבהן יש לשתף קבצים בקבוצה. שתי הפקודות גמישות מאוד, כפי שאתה יכול לגלות באמצעות ה- - עזרה אוֹפְּצִיָה.


אל האני chown ניתן להחיל את הפקודה כדי לשנות את בעלות המשתמש והקבוצה על קובץ, בעוד chgrp רק משנה את הבעלות על הקבוצה. כמובן שהמערכת תבדוק אם למשתמש שמנפיק אחת מהפקודות הללו יש הרשאות מספיקות על הקבצים אותם היא רוצה לשנות.


על מנת לשנות רק את בעלות המשתמש על קובץ, השתמש בתחביר זה:


chown משתמש חדש פילה


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


ג'קי:~> id

uid=1304(jacky) gid=(1304) groups=1304(jacky),2034(pproject)


ג'קי:~> ls -l my_rapport

-rw-rw-r-- פרויקט 1 ג'קי 29387 15 בינואר 09:34 שלי_דוח ג'קי:~> chown jacky: my_report

ג'קי:~> chmod או my_report


ג'קי:~> ls -l my_rapport

-rw-rw---- 1 ג'קי ג'קי 29387 15 בינואר 09:34 שלי_דוח

ג'קי:~> id

uid=1304(jacky) gid=(1304) groups=1304(jacky),2034(pproject)


ג'קי:~> ls -l my_rapport

-rw-rw-r-- פרויקט 1 ג'קי 29387 15 בינואר 09:34 שלי_דוח ג'קי:~> chown jacky: my_report

ג'קי:~> chmod או my_report


ג'קי:~> ls -l my_rapport

-rw-rw---- 1 ג'קי ג'קי 29387 15 בינואר 09:34 שלי_דוח

If ג'קי רוצה לשתף את הקובץ הזה, מבלי לתת לכולם רשות לכתוב אותו, הוא יכול להשתמש ב-

פקודת chgrp:


ג'קי:~> ls -l report-20020115.xls

-rw-rw---- 1 ג'קי ג'קי 45635 15 בינואר 09:35 report-20020115.xls ג'קי:~> דוח פרויקט chgrp-20020115.xls

ג'קי:~> chmod o= report-20020115.xls


ג'קי:~> ls -l report-20020115.xls

-rw-rw---- 1 פרויקט ג'קי 45635 15 ינואר 09:35 report-20020115.xls

ג'קי:~> ls -l report-20020115.xls

-rw-rw---- 1 ג'קי ג'קי 45635 15 בינואר 09:35 report-20020115.xls ג'קי:~> דוח פרויקט chgrp-20020115.xls

ג'קי:~> chmod o= report-20020115.xls


ג'קי:~> ls -l report-20020115.xls

-rw-rw---- 1 פרויקט ג'קי 45635 15 ינואר 09:35 report-20020115.xls

בדרך זו, משתמשים בקבוצה פּרוֹיֶקט יוכל לעבוד על הקובץ הזה. למשתמשים שאינם בקבוצה זו אין עסק איתה כלל.


שניהם chown ו chgrp ניתן להשתמש כדי לשנות בעלות רקורסיבית, באמצעות ה -R אוֹפְּצִיָה. במקרה זה, כל הקבצים ותתי הספריות הבסיסיים של ספרייה נתונה יהיו שייכים למשתמש ו/או לקבוצה הנתונים.


תמונההגבלות

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


תמונה

3.4.2.5. מצבים מיוחדים


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


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

תמונה

/ var / tmp, שצריכים להיות נגישים לכולם, אך שבהם לא מתאים למשתמשים לשנות או למחוק את הנתונים זה של זה. החלק הדביק מסומן על ידי א t בסוף שדה הרשאת הקובץ:


סימן:~> ls -ld /var/tmp

drwxrwxrwt 19 שורש שורש

8192 16 בינואר 10:37 /var/tmp/

סימן:~> ls -ld /var/tmp

drwxrwxrwt 19 שורש שורש

ה-sticky bit מוגדר באמצעות הפקודה chmod o+t בספרייה. המקור ההיסטורי של ה-t הוא ב-UNIX' שמור גישת טקסט תכונה.

SUID (זיהוי משתמש מוגדר) ו-SGID (זיהוי קבוצה מוגדר): מיוצגים על ידי התו s בשדה הרשאת המשתמש או הקבוצה. כאשר מצב זה מוגדר על קובץ הפעלה, הוא ירוץ עם הרשאות המשתמש והקבוצה בקובץ במקום עם אלו של המשתמש המוציא את הפקודה, ובכך יעניק גישה למשאבי המערכת. נדון בכך עוד בפרק 4.

תמונה

• SGID (הגדר מזהה קבוצה) על ספרייה: במקרה מיוחד זה לכל קובץ שנוצר בספריה יהיה אותו בעל קבוצה כמו הספרייה עצמה (בעוד שהתנהגות רגילה תהיה שקבצים חדשים נמצאים בבעלות המשתמשים שיוצרים אותם). בדרך זו, משתמשים לא צריכים לדאוג לגבי בעלות על קבצים בעת שיתוף ספריות:


mimi:~> ls -ld /opt/docs

drwxrws--- 4 משתמשי שורש

4096 25 ביולי 2001 מסמכים/

mimi:~> ls -ld /opt/docs

drwxrws--- 4 משתמשי שורש


mimi:~> ls -l /opt/docs

-rw-rw---- 1 מימי משתמשים

345672 30 באוגוסט 2001-Council.doc

mimi:~> ls -l /opt/docs

-rw-rw---- 1 מימי משתמשים

זוהי הדרך הסטנדרטית לשיתוף קבצים ב-UNIX.


תמונהקבצים קיימים נותרים ללא שינוי!

קבצים שמועברים לספריית SGID אך נוצרו במקום אחר שומרים על המשתמש והבעלים המקוריים של הקבוצה. זה עשוי להיות מבלבל.


תמונה


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