במאמר הבא אנו נסתכל על אולי. בעזרת כלי זה נוכל לדעת בקלות מה בדיוק פקודה או תוכנית יעשו לפני ביצועה ישירות מהטרמינל. נשיג זאת עם אולי. תוֹעֶלֶת להפעיל תהליכים בשליטת ptrace (בעזרת הספרייה פיתון- ptrace). הכלי יתחיל לעבוד כאשר הוא מיירט שיחת מערכת שעומדת לבצע שינויים במערכת הקבצים. זה יערוך שיחה זו ואז ישנה את רישומי המעבד כדי להפנות את השיחה אל מזהה syscall לא חוקי (הופך אותו למעשה ל"ללא פעולה«) והגדר את הערך של אותה שיחה לא פעילה לכזו שמעידה על הצלחת השיחה המקורית.
זהו כלי פשוט שיאפשר לנו לבצע פקודה ו- לראות מה זה עושה לקבצים שלנו בלי לעשות זאת בפועל. לאחר בחינת התוצאה שתופיע ברשימה, אנו יכולים להחליט אם אנו באמת רוצים לבצע אותה או לא.
התקן אולי באובונטו
על מנת להשתמש בכלי זה, עלינו להבטיח זאת התקינו פְּעִים במערכת שלנו GNU / Linux. אם לא מותקן בו, נוכל לעשות זאת בצורה פשוטה כפי שמוצג להלן. אנו יכולים להשתמש במסוף (Ctrl + Alt + T) ב דביאן, אובונטו ומנטה לינוקס כותב את הפקודה הבאה:
sudo apt-get install python-pip
כאשר מותקנים במערכת שלנו pip, אנו יכולים לבצע את הפקודה הבאה ל- להתקין אולי מהמסוף:
sudo pip install maybe
אנו יכולים ללמוד עוד על כלי זה בעמוד של GitHub של הפרויקט.
כיצד לדעת מה פקודה או תוכנית יעשו לפני ביצועה
השימוש בכלי זה קל ביותר. פשוט נצטרך הוסף אולי מול הפקודה שאנחנו רוצים לבצע במסוף שלנו. כדוגמה תוכלו לראות את הפקודה הבאה שכתבתי במסוף שלי:
maybe rm -r Ubunlog/
אתה יכול לראות שאני הולך למחוק באמצעות הפקודה "rm"תיקייה בשם"Ubunlog»מהמערכת שלי. בלכידה הבאה תוכלו לראות את הפלט שהפקודה מראה לי במסוף:
הכלי אולי יבצע 6 פעולות של מערכת קבצים ואני מראה מה בדיוק הפקודה הזו תעשה (rm - r Ubunlog/). עכשיו אני יכול להחליט אם עלי לבצע פעולה זו או לא. זו דוגמה די פשוטה, אבל אני חושב שאתה יכול לראות מה הרעיון של הכלי.
אם השירות לא היה ברור לחלוטין, הנה דוגמה נוספת. אני הולך להתקין את לקוח שולחן העבודה תיבת דואר נכנס עבור Gmail. לשם כך אני הולך לתיקייה בה הורדתי את הקובץ. AppImage והפעל אותה עם אולי. זה מה שהמערכת הראתה לי במסוף (Ctrl + Alt + T):
maybe ./inboxer-0.4.0-x86_64.AppImage
במקרה שהכלי לא מזהה אין פעולה במערכת הקבצים, המסוף יראה לנו הודעה שהוא לא זיהה שום פעולה במערכת הקבצים, ולכן הוא לא יראה אזהרות.
מעתה ואילך נוכל לדעת בקלות מה יעשה פקודה או תוכנית עוד לפני ביצועה. כתוצאה מכך, המערכת מאמינה שכל מה שאתה מנסה לעשות אכן קורה, כשבמציאות זה לא.
הסר התקנה אולי
כדי להסיר כלי זה ממערכת ההפעלה שלנו, נצטרך להשתמש רק באפשרות הסרת ההתקנה של pip. לשם כך אנו פותחים מסוף (Ctrl + Alt + T) וכותבים בו:
sudo pip uninstall maybe
אזהרה
עלינו להיות זהירים מאוד כאשר אנו משתמשים בכלי שירות זה במערכת ייצור או בכל מערכת עם מידע רגיש. זה לא כלי להפעלת קוד לא אמין במערכת שלנו. תהליך שמופעל תחת אולי עדיין יכול לגרום נזק חמור למערכת שלנו מכיוון שרק קומץ שיחות מערכת חסומות. אנו יכולים גם לוודא אם בוצעה פעולה כגון מחיקת קובץ שיחות מערכות לקריאה בלבד ולשנות את התנהגותה בהתאם.
נניח שיש לרעיון הרע להפעיל את rm -r / * כמנהל