Linux команда chmod - команда изменения прав доступа.
תוכן עניינים:
- הרשאות קובץ לינוקס
- באמצעות
chmod
- שיטה סמלית (טקסט)
- שיטה נומרית
- באמצעות קובץ עזר
- שנה רקורסיבית את הרשאות הקובץ
- הפעלה על קישורים סמלים
- שינוי הרשאות קבצים בכמות גדולה
- סיכום
בלינוקס הגישה לקבצים מנוהלת באמצעות הרשאות, תכונות ובעלות. זה מבטיח שרק משתמשים ותהליכים מורשים יוכלו לגשת לקבצים וספריות.
מדריך זה מכסה כיצד להשתמש בפקודה
chmod
כדי לשנות את הרשאות הגישה של קבצים וספריות.
הרשאות קובץ לינוקס
לפני שנלך הלאה, נסביר את מודל ההרשאות הלינוקס הבסיסי.
בלינוקס כל קובץ משויך לבעלים ולקבוצה ומוקצה לו הרשאות גישה לשלוש קבוצות משתמשים שונות:
- בעל הקובץ. חברי הקבוצה. אחר (כולם).
ניתן לשנות את הבעלות על קבצים באמצעות פקודות
chgrp
וה-
chgrp
.
ישנם שלושה סוגי הרשאות קבצים החלים על כל כיתה:
- הרשאת הקריאה. הרשאת הכתיבה. ההרשאה לביצוע.
מושג זה מאפשר לך לציין אילו משתמשים רשאים לקרוא את הקובץ, לכתוב לקובץ או לבצע את הקובץ.
ניתן להציג הרשאות קבצים באמצעות הפקודה
ls
:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | | | | | | | | | | | +-----------> 7. Group | | | | | +-------------------> 6. Owner | | | | +--------------------------> 5. Alternate Access Method | | | +----------------------------> 4. Others Permissions | | +-------------------------------> 3. Group Permissions | +----------------------------------> 2. Owner Permissions +------------------------------------> 1. File Type
התו הראשון מציג את סוג הקובץ. זה יכול להיות קובץ רגיל (
-
), ספריה (
d
), קישור סמלי (
l
) או כל סוג אחר של קובץ מיוחד.
תשע התווים הבאים מייצגים את הרשאות הקובץ, שלוש שלשות של שלוש תווים כל אחת. השלישייה הראשונה מציגה את הרשאות הבעלים, ההרשאות לקבוצה השנייה והשלישייה האחרונה מציגה הרשאות לכולם. להרשאות יכולות להיות משמעות שונה בהתאם לסוג הקובץ.
בדוגמה שלמעלה (
rw-r--r--
) פירושו
rw-r--r--
הקובץ הרשאות קריאה וכתיבה (
rw-
), לקבוצה ואחרים יש הרשאות קריאה בלבד (
r--
).
כל אחד משלושת משולשי ההרשאות יכול להיות בנוי מהתווים הבאים ויש להם אפקטים שונים, תלוי אם הם מוגדרים לקובץ או לספריה:
השפעת הרשאות על קבצים
הרשאה | דמות | הכוונה בתיק |
---|---|---|
לקרוא |
-
|
לא ניתן לקרוא את הקובץ. אינך יכול להציג את תוכן הקובץ. |
r
|
ניתן לקרוא את הקובץ. | |
כתוב |
-
|
לא ניתן לשנות או לשנות את הקובץ. |
w
|
ניתן לשנות או לשנות את הקובץ. | |
לבצע |
-
|
לא ניתן לבצע את הקובץ. |
x
|
ניתן לבצע את הקובץ. | |
s
|
אם הוא נמצא בטריפלייט של
user
הוא מגדיר את הסיבית. אם נמצא בשלישיה
group
, הוא מגדיר את
setgid
ה-
setgid
. זה גם אומר שמוגדר דגל
x
.
כאשר דגלי
|
|
S
|
זהה ל-
s
אך דגל ה-
x
אינו מוגדר. לעתים רחוקות משתמשים בדגל זה בקבצים. |
|
t
|
אם נמצא בשלישייה האחרת, זה מגדיר את החלק
sticky
.
זה גם אומר שמוגדר דגל
|
|
T
|
זהה ל-
t
אך דגל ה-
x
אינו מוגדר. דגל זה חסר תועלת בקבצים. |
השפעת הרשאות על ספריות (תיקיות)
ב- Linux ספריות הן סוגים מיוחדים של קבצים המכילים קבצים וספריות אחרים.
הרשאה | דמות | משמעות במדריך |
---|---|---|
לקרוא |
-
|
לא ניתן להציג את תוכן הספריה. |
r
|
ניתן להציג את תוכן הספרייה.
(למשל, אתה יכול לרשום קבצים בתוך הספרייה באמצעות
|
|
כתוב |
-
|
לא ניתן לשנות את תוכן הספרייה. |
w
|
ניתן לשנות את תוכן הספרייה.
(למשל אינך יכול ליצור קבצים חדשים, למחוק קבצים.. וכו ') |
|
לבצע |
-
|
לא ניתן לשנות את הספרייה ל. |
x
|
ניתן לנווט בספריה באמצעות
cd
. |
|
s
|
אם הוא נמצא בטריפלייט של
user
, הוא מגדיר את סיבית ה-
setuid
. אם נמצא בשלישייה
group
זה מגדיר את
setgid
להגדיר. זה גם אומר שמוגדר דגל
x
. כאשר דגל
setgid
מוגדר בספרייה, הקבצים החדשים שנוצרו בתוכו יורשים את מזהה קבוצת הספריות (GID), במקום מזהה הקבוצה הראשי של המשתמש שיצר את הקובץ.
|
|
S
|
זהה ל-
s
אך דגל ה-
x
אינו מוגדר. דגל זה חסר תועלת בספריות. |
|
t
|
אם נמצא בשלישייה האחרת, זה מגדיר את החלק
sticky
.
זה גם אומר שמוגדר דגל
|
|
T
|
זהה ל-
t
אך דגל ה-
x
אינו מוגדר. דגל זה חסר תועלת בספריות. |
באמצעות
chmod
הפקודה
chmod
לובשת את הצורה הכללית הבאה:
chmod MODE FILE…
הפקודה
chmod
מאפשרת לשנות את ההרשאות על קובץ באמצעות מצב סמלי או מספרי או קובץ הפניה. נסביר את המצבים ביתר פירוט בהמשך. הפקודה יכולה לקבל קובץ אחד או יותר ו / או ספריות מופרדים על ידי שטח כוויכוחים.
רק השורש, בעל הקובץ או המשתמש עם הרשאות הסוד יכולים לשנות את הרשאות הקובץ. היזהר במיוחד בעת השימוש ב-
chmod
, במיוחד כשאתה משנה את ההרשאות רקורסיבית.
שיטה סמלית (טקסט)
לתחביר של הפקודה
chmod
בעת שימוש במצב הסמלי יש את הפורמט הבא:
chmod perms… FILE…
קבוצת הדגלים הראשונה (
), דגלים של משתמשים, מגדיר אילו משתמשים מחלקים את ההרשאות לקובץ משתנים.
-
u
- בעל הקובץ.g
- המשתמשים החברים בקבוצה.o
- כל המשתמשים האחרים.a
- כל המשתמשים, זהיםugo
.
אם דגל המשתמשים אינו מושמט, ברירת המחדל היא אחת וההרשאות שהוגדרו על ידי umask לא מושפעות.
קבוצת הדגלים השנייה (
), דגלי הפעולה, מגדירים אם יש להסיר, להוסיף או להגדיר את ההרשאות:
-
-
מסיר את ההרשאות שצוינו.+
מוסיף הרשאות שצוינו.=
משנה את ההרשאות הנוכחיות להרשאות שצוינו. אם לא מוגדרות הרשאות לאחר הסמל=
, כל ההרשאות משיעור המשתמשים שצוינו יוסרו.
ניתן להגדיר את ההרשאות (הרשאות
perms…
) במפורש באמצעות אפס או אחת או יותר מהאותיות הבאות:
r
,
w
,
x
,
X
,
s
ו-
t
. השתמש באות בודדת בערכת
u
,
g
ו-
o
בעת העתקת הרשאות מכיתת משתמשים אחרת.
בעת הגדרת הרשאות ליותר מכיתות משתמש אחת (
), השתמש בפסיקים (ללא רווחים) כדי להפריד בין המצבים הסמליים.
להלן כמה דוגמאות כיצד להשתמש בפקודה
chmod
במצב סמלי:
-
תן לחברי הקבוצה אישור לקרוא את הקובץ, אך לא לכתוב אותו ולבצע אותו:
chmod g=r filename
הסר את ההרשאה לביצוע לכל המשתמשים:
chmod ax filename
מסיר באופן דוחה את הרשאת הכתיבה למשתמשים אחרים:
chmod -R ow dirname
הסר את הרשאת הקריאה, הכתיבה והביצוע לכל המשתמשים פרט לבעל הקובץ:
chmod og-rwx filename
ניתן להשיג את אותו הדבר גם באמצעות הטופס הבא:
chmod og= filename
תן קריאה, כתיבה וביצוע הרשאה לבעלי הקובץ, הרשאות קריאה לקבוצת הקובץ וללא הרשאות לכל המשתמשים האחרים:
chmod u=rwx, g=r, o= filename
הוסף את הרשאות הבעלים של הקובץ להרשאות שיש לחברי קבוצת הקבצים:
chmod g+u filename
הוסף קצת דביק לספרייה נתונה:
chmod o+t dirname
שיטה נומרית
לתחביר של הפקודה
chmod
בעת שימוש בשיטה מספרית יש את הפורמט הבא:
chmod NUMBER FILE…
בעת השימוש במצב המספרי, באפשרותך להגדיר את ההרשאות לכל שלוש כיתות המשתמש (בעלים, קבוצה וכל האחרים) בו זמנית.
המספר יכול להיות מספר 3 או 4 ספרות.
כשמשתמשים במספר ספרות, הספרה הראשונה מייצגת את ההרשאות של בעל הקובץ, השנייה בקבוצת הקובץ והאחת האחרונה של כל המשתמשים האחרים.
לכל הרשאות כתיבה, קריאה וביצוע יש ערך המספר הבא:
-
r
(לקרוא) = 4w
(לכתוב) = 2x
(לבצע) = הרשאות 1 = 0
מספר ההרשאות של קבוצת משתמשים ספציפית מיוצג על ידי סכום הערכים של ההרשאות עבור אותה קבוצה.
כדי לגלות את הרשאות הקובץ במצב מספרי פשוט חישבו את הסכומים עבור כל כיתות המשתמשים. לדוגמה, כדי לתת הרשאה לקריאה, כתיבה והפעלה לבעל הקובץ, קרא והפעל הרשאות לקבוצת הקובץ ורק הרשאות קריאה לכל המשתמשים האחרים, תעשה את הפעולות הבאות:
- בעלים: rwx = 4 + 2 + 1 = 7 קבוצה: rx = 4 + 0 + 1 = 5 אחר: rx = 4 + 0 + 0 = 4
בשיטה שלמעלה אנו מגיעים למספר
754
המייצג את ההרשאות הרצויות.
כדי להגדיר את דגלי
sticky bit
,
setgid
sticky bit
השתמשו בארבע ספרות.
כאשר משתמשים במספר הספרות, לספרה הראשונה המשמעות הבאה:
- setuid = 4setgid = 2sticky = 1 אין שינויים = 0
לשלוש הספרות הבאות יש את אותה המשמעות כמו בעת שימוש במספר שלוש ספרות.
אם הספרה הראשונה היא 0 ניתן להשמיט אותה, ואת המצב ניתן לייצג עם 3 ספרות. המצב המספרי
0755
זהה ל-
755
.
כדי לחשב את המצב המספרי תוכלו להשתמש גם בשיטה אחרת (שיטה בינארית), אך היא מעט יותר מסובכת. לדעת כיצד לחשב את המצב המספרי באמצעות 4, 2 ו- 1 זה מספיק עבור מרבית המשתמשים.
ניתן לבדוק את הרשאות הקובץ ברישום המספרי באמצעות הפקודה
stat
:
stat -c "%a" filename
644
הנה כמה דוגמאות לשימוש בפקודה
chmod
במצב מספרי:
-
תן לבעלי הקובץ הרשאות קריאה וכתיבה ורשאות קריאה בלבד לחברי הקבוצה ולכל המשתמשים האחרים:
chmod 644 dirname
תן לבעלים של הקובץ הרשאות קריאה, כתיבה והפעלה, קרא והפעל הרשאות לחברי הקבוצה וללא הרשאות לכל המשתמשים האחרים:
chmod 750 dirname
תן הרשאות קריאה, כתיבה וביצוע, וסיבית דביקה לספרייה נתונה:
chmod 1777 dirname
הגדר באופן רקורסיבי הרשאות קריאה, כתיבה והפעלה לבעל הקבצים ללא הרשאות לכל המשתמשים האחרים בספרייה נתונה:
chmod -R 700 dirname
באמצעות קובץ עזר
האפשרות
--reference=ref_file
מאפשרת לך להגדיר את הרשאות הקובץ להיות זהות לאלה של קובץ הייחוס שצוין (
ref_file
).
chmod --reference=REF_FILE FILE
לדוגמה, הפקודה הבאה תקצה את הרשאות הקובץ 1
file1
שנה רקורסיבית את הרשאות הקובץ
להפעלה רקורסיבית של כל הקבצים והספריות תחת הספרייה הנתונה, השתמש באפשרות
-R
(-
--recursive
):
chmod -R MODE DIRECTORY
לדוגמה, כדי לשנות את ההרשאות של כל הקבצים ותיקיות המשנה תחת ספריית
/var/www
ל
755
היית משתמש:
הפעלה על קישורים סמלים
לקישורים סמלים תמיד יש
777
הרשאות.
כברירת מחדל, בעת שינוי ההרשאות של symlink,
chmod
תשנה את ההרשאות בקובץ אליו מצביע הקישור.
chmod 755 symlink
רוב הסיכויים שבמקום לשנות את בעלות היעד, תקבל שגיאת "לא יכול לגשת ל'סימלינק ': הרשאה נדחתה".
השגיאה מתרחשת מכיוון שברירת מחדל ברוב ההפצות לינוקס מוגנות על קישורים, ואינך יכול לפעול על קבצי יעד. אפשרות זו מוגדרת ב-
/proc/sys/fs/protected_symlinks
.
1
פירושו מופעל ו
0
מושבת. מומלץ לא להשבית את ההגנה על symlink.
שינוי הרשאות קבצים בכמות גדולה
לפעמים ישנם מצבים שבהם תצטרך לשנות בתפוצה רחבה קבצים והרשאות ספריות.
התרחיש הנפוץ ביותר הוא לשנות באופן רקורסיבי את הרשאות קובץ האתר ל-
644
ואת הרשאות הספריה ל
755
.
בשיטה המספרית:
find /var/www/my_website -type d -exec chmod 755 {} ;
find /var/www/my_website -type f -exec chmod 644 {} ;
בשיטה הסמלית:
find /var/www/my_website -type d -exec chmod u=rwx, go=rx {} ;
find /var/www/my_website -type f -exec chmod u=rw, go=r {} ;
פקודת החיפוש תחפש קבצים וספריות תחת
/var/www/my_website
ותעביר כל קובץ
/var/www/my_website
שנמצאו לפקודה
chmod
כדי להגדיר את ההרשאות.
סיכום
הפקודה
chmod
משנה את הרשאות הקובץ. ניתן להגדיר את ההרשאות במצב הסמלי או המספרי.
למידע נוסף על
chmod
בקר בדף chmod man.
פקודת Cp בלינוקס (העתקת קבצים)
cp הוא כלי שורת פקודה להעתקת קבצים וספריות במערכות יוניקס ולינוקס.
פקודת Ls בלינוקס (רשימת קבצים וספריות)
פקודת ls היא אחת מהפקודות הבסיסיות שכל משתמש לינוקס צריך לדעת. הוא משמש לרשימת מידע על קבצים וספריות במערכת הקבצים.
כיצד להעביר קבצים וספריות בלינוקס (פקודת mv)
העברת קבצים וספריות היא אחת המשימות הבסיסיות ביותר שלעתים קרובות עליכם לבצע במערכת לינוקס. במדריך זה נסביר כיצד להשתמש בפקודת mv כדי להזיז קבצים וספריות.