ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורח · ·
 

הודעה פורסם: 01/06/2016 - 10:56
נושא ההודעה: שאלה בנושא הרשאות

שאלת newbie:
לא מצליח להבין מה הפקודה הזו:
קוד:

find / -type d \( -perm -0002 -a ! -perm -1000 \)


אני כן מבין שזה מחפש תיקיות שהם world-writable.
לא מבין את את ההראשות 0002 ו 1000
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 01/06/2016 - 13:21
נושא ההודעה:

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

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

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

שלושת הביטים הראשונים הם קצת מוזרים: הביט הראשון הוא מה שנקרא sticky bit. בקבצים אני חושב שהוא לא עושה דבר אך בתקיות הוא נותן רק לבעל הקובץ לכתוב לתקיה. כלומר, משתמש עם הרשאות כתיבה לספרייה לא יוכל לשנות קבצים שלא ברשותו. התקייה ./tmp בלינוקס משתמש בביט זה על מנת לאפשר לכל התוכנות לאכסן מידע אך לא לשבש את פעילות תוכניות של משתמשים אחרים.
הביט השני הוא ביט ה-suid שאומר שכל אדם שיריץ את הקובץ הזה יריץ אותו בהרשאות של בעל הקובץ. בתוכנות su ו-sudo בלינוקס משתמשים בביט זה.
הביט השלישי הוא ה-guid, שאומר שקובץ זה ירוץ בהרשאות הקבוצה שלו (כאילו משתמש מהקבוצה שלו הריץ אותו).

בהנתן המידע לעייל, ניתן להסיק ש-0002 אומר שביט הכתיבה דלוק בשלושת הביטים של כל המשתמשים. כלומר, כל משתמש יכול לכתוב לתקייה הזו. 1000 אומר שה-sticky bit דלוק.
כך שהפקודה הזו אומרת "מצא כל תקייה (-type d) שכל אחד יכול לכתוב אליה אך ה-sticky bit שלה לא דלוק".

מקוה שזה מובן Smile
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 01/06/2016 - 13:22
נושא ההודעה:

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

הודעה פורסם: 01/06/2016 - 15:43
נושא ההודעה:

תודה רבה!
ציטוט:

ניתן להסיק ש-0002 אומר שביט הכתיבה דלוק בשלושת הביטים של כל המשתמשים. כלומר, כל משתמש יכול לכתוב לתקייה הזו.


קוד:

 chmod 0002 xx
[test@client ~]$ ls -l
total 0
d-------w- 2 test test 6 Jun  1 17:37 xx

כל הביטים מכובים למעט ביט הכתיבה..לא?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 01/06/2016 - 16:29
נושא ההודעה:

Anonymous :
תודה רבה!
ציטוט:

ניתן להסיק ש-0002 אומר שביט הכתיבה דלוק בשלושת הביטים של כל המשתמשים. כלומר, כל משתמש יכול לכתוב לתקייה הזו.


קוד:

 chmod 0002 xx
[test@client ~]$ ls -l
total 0
d-------w- 2 test test 6 Jun  1 17:37 xx

כל הביטים מכובים למעט ביט הכתיבה..לא?

אני בטוח שהכוונה היא רק למשתמש (ולא לקבוצה ולכולם 0222)
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 01/06/2016 - 16:53
נושא ההודעה:

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

הודעה פורסם: 01/06/2016 - 17:00
נושא ההודעה:

זה די מגניב האמת, אם נעשה:
קוד:
$ mkdir dir
$ chmod 0007 dir
$ ls dir
ls: cannot open directory 'dir': Permission denied


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

הודעה פורסם: 01/06/2016 - 22:14
נושא ההודעה:

https://en.wikipedia.org/wiki/File_system_permissions

https://wiki.archlinux.org/index.php/File_permissions_and_attributes
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/06/2016 - 11:07
נושא ההודעה:

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


תודה רבה! הדברים מתחילים להתבהר...
אני רק לא מבין למה ביצעו את החיפוש בצורה הזו 0002 ולא 777?
תודה רבה
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/06/2016 - 11:15
נושא ההודעה:

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


תודה רבה! הדברים מתחילים להתבהר...
אני רק לא מבין למה ביצעו את החיפוש בצורה הזו 0002 ולא 777?
תודה רבה


אגב, אני שואל כי אני מקבל את אותה תוצאה בדיוק.

בין אם אתה מחפש בדיוק 777
או שאתה מחפש -0002
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 03/06/2016 - 08:46
נושא ההודעה:

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


תודה רבה! הדברים מתחילים להתבהר...
אני רק לא מבין למה ביצעו את החיפוש בצורה הזו 0002 ולא 777?
תודה רבה


אגב, אני שואל כי אני מקבל את אותה תוצאה בדיוק.

בין אם אתה מחפש בדיוק 777
או שאתה מחפש -0002

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

הודעה פורסם: 05/06/2016 - 12:03
נושא ההודעה:

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


תודה רבה! הדברים מתחילים להתבהר...
אני רק לא מבין למה ביצעו את החיפוש בצורה הזו 0002 ולא 777?
תודה רבה


אגב, אני שואל כי אני מקבל את אותה תוצאה בדיוק.

בין אם אתה מחפש בדיוק 777
או שאתה מחפש -0002

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


תודה רבה!
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/06/2016 - 13:59
נושא ההודעה:

ההרשאות מורכבות מארבע ספרות אוקטאליות (בסיס Cool כמו שנאמר פה למעלה 3 ביטים.
הפקודה שהבאת מחפשת את כל הקבצים שיש להם ביט 2 דולק בספרה האחרונה (כלומר לכל השאר), ביט 2 אומר הרשאת כתיבה (לא משנה אם יש ביטים אחרים דולקים או לא) להוציא את אלה שהסטיקי ביט דולק (1000).
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח
  2. אורח
  3. אורח
  4. אורח
  5. אורח
  6. אורח
  7. אורח
  8. אורח
  9. אורח
  10. אורח
  11. אורח
  12. אורח
  13. אורח