כל מערכות ההפעלה המודרניות מרובות המשימות, כולל לינוקס, מפעילות סדרה של תהליכים עבור כל אחת מהמשימות המתבצעות. יישום פנקס הוא תהליך, חלון המסוף הוא תהליך, שרת SSH הוא תהליך, כל חיבור SSH הוא תהליך וכן הלאה. לוחות זמנים לינוקס משאבי המערכת השונים (זמן CPU, זיכרון, I / O), כך שכל תהליך מקבל הזדמנות לרוץ.

כדי לראות את רשימת התהליכים הנוכחיים הפועלים, באפשרותך להשתמש בפקודה ps . נסה זאת במסוף:

 ps aux 

הפרמטרים aux לספר ps לרשימה את כל התהליכים המערכת עם מידע נוסף על מי הבעלים של תהליכים ומה פרמטרים קורא שימשו.

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

אם אתה מסתכל למטה ברשימה, תראה את הפקודה nano MYBANKACCOUNTNUMBER.TXT אשר בבעלות המשתמש "ג 'ון." תארו לעצמכם אם שם הקובץ היה קצת יותר חושף את הדוגמה; נתונים אלה חשופים לכל המשתמשים במערכת ויכולים לשמש למטרות זדוניות.

מאז 3.2 לינוקס לינוקס יש דרך לעצור משתמשים לקבל גישה למידע על תהליכים שאינם בבעלותם. הפקודה ps מקבל את המידע התהליך מ / proc filesystem (שבו "proc" הוא קצר עבור תהליך). ישנו פרמטר חדש הנקרא "hidepid" המשמש כאשר מערכת הקבצים proc מותקנת. זה יכול להסתיר תהליכים ובקרות שיש לו גישה למידע תחת / proc.

  • hidepid = 0 - התנהגות ברירת המחדל שבה כל משתמש יכול לקרוא את הקבצים תחת / proc / PID /
  • hidepid = 1 - זה אומר שמשתמשים לא יכולים לגשת לכל / proc / PID / תת ספרייה למעט משלהם. גם קבצים כמו cmdline, io, תזמון *, מצב, wchan אינם נגישים למשתמשים אחרים.
  • מוסתר = 2 - כל דבר מ = =, כולל כל / proc / PID / תת ספריות יהיה מוסתר למשתמשים אחרים.

את / proc filesystem ניתן remounted על לטוס באמצעות אפשרות remount של הפקודה mount . כדי לבדוק hidepid, ניתן לבצע מחדש את מערכת הקבצים / proc כך:

 sudo mount -o remount, rw, hidepid = 2 / proc 

עכשיו אתה יכול לנסות את הפקודה ps שוב:

 ps aux 

עכשיו הפלט מראה רק תהליכים בבעלות המשתמש "pi".

כדי להפוך את השינוי הזה לצמיתות, עליך לערוך את הקובץ "/ etc / fstab" של Pi שלך. קובץ "fstab" קובע אילו מערכות קבצים מותקנות בעת ההפעלה.

 sudo nano / etc / fstab 

ומצא את השורה שבה נכתב:

 ערכי ברירת מחדל proc / proc proc 0 0 

ושנה אותו ל:

 פרוק / proc proc, ברירת מחדל = 0 0 

צא העורך באמצעות "Ctrl + X." עכשיו אתחול מחדש שלך פספלרי Pi. כאשר הוא מאתחל מחדש, ודא כי מערכת הקבצים / proc כבר מותקן עם האפשרויות הנכונות. השימוש הראשון mount ו grep לראות את האפשרויות הנוכחיות:

 mount גרסה 

עכשיו לבדוק את הפקודה ps, בדיוק כפי שעשינו לעיל:

 ps aux 

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

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