דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. יצירת שירות שלא ניתן לעצירה בלינוקס

יצירת שירות שלא ניתן לעצירה בלינוקס

מתוזמן נעוץ נעול הועבר תכנות
17 פוסטים 6 כותבים 218 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • nigunN nigun

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

    WWWW מנותק
    WWWW מנותק
    WWW
    כתב ב נערך לאחרונה על ידי
    #4

    @aaron אמר ביצירת שירות שלא ניתן לעצירה בלינוקס:

    בלינוקס בגדול זה כנראה לא קיים.

    @nigun לדעתי אתה בכיוון הנכון, זה סוג של וירוס מה שאתה מנסה לעשות 🙂

    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

    תגובה 1 תגובה אחרונה
    2
    • A aaron

      @nigun אמר ביצירת שירות שלא ניתן לעצירה בלינוקס:

      אני רוצה לשים לעצמי על המחשב

      @clickone הוא רוצה להגביל את עצמו.
      בלינוקס בגדול זה כנראה לא קיים.
      root יכול להעיף כל דבר, אולי אלא אם תכתוב kernel מודול (?)

      nigunN מנותק
      nigunN מנותק
      nigun
      כתב ב נערך לאחרונה על ידי nigun
      #5

      @aaron
      אכן אני רוצה להגביל את עצמי
      והבעיה היא שroot יעיף את הכל
      אבל אם אני לא יודע איזה תהליך להרוג אז לא עוזר לי root
      @WWW
      אולי זה הסיבה שלא מצאתי שום מדריך לתהליך כזה
      כי זה יכול להיות בעייתי מאוד שיהיה תהליך אין לך שליטה עליו
      עריכה: את האמת כנראה תמיד המשתמש יכול להפעיל מחדש את המחשב במצב recovery
      (ואז נראה לי שהשירותים לא עולים)
      ולמחוק את הקובץ של התהליך הראשי ולבטל את כל השירותים הלא מזוהים וכך הוא יעקוף את החסימה

      מייל: nigun@duck.com

      תגובה 1 תגובה אחרונה
      1
      • clickoneC clickone

        @nigun אולי הרצת משימה בCRON כל כמה שניות שתבדוק אם התהליך/ים סגור ותפתח אותו
        אא"כ מדובר במישהו שיודע גם לבטל ולהתעסק עם CRON

        nigunN מנותק
        nigunN מנותק
        nigun
        כתב ב נערך לאחרונה על ידי
        #6

        @clickone
        נתת לי רעיון חדש
        שיעזור למי גם למי שמכיר את לינוקס ישר והפוך (אולי זה פתרון לנטפרי)
        וזה פשוט למוצא תוכנה כמו CRON שרצה במילא על כל מחשב לינוקס
        ואם יש אותו בקוד פתוח פשוט להוסיף לתוכנה שורה שבודקת כל X דקות האם השירות הראשי פעיל ואם לא אז מפעיל שוב/מתקין
        ואז לקמפל אותה (אפשר לעשות את התהליך הזה על שרת ואז לתוכנה תוריד אותה)
        ולהחליף את התוכנה המזויפת עם התוכנה הישנה ואז גם ללקוח הכי מתוכם אין אפשרות לדעת מי שחדש את הפעולה כל הזמן
        הבעיה היא שמידי פעם יש עדכוני תוכנה שפשוט ידרסו את התוכנה המזוייפת
        בשביל זה אפשר אולי להריץ סקריפט בשירות הראשי שבודק כל הזמן האם יש עדכון לתוכנה הזאת
        ואם כן, היא יוצרת עותק חדש של הגירסה האחרונה ומעדכנת בלי לשאול את הלקוח
        החסרון בזה הוא שלא תמיד הלקוח רוצה עדכון והוא לא יבין מי עדכן את זה לבד (אבל ברוב המשתמשים זה לא רלוונטי)
        אפשרות שניה היא להגדיר איכשהו שAPT ידלג על הבדיקה של התוכנה הזה והיא לעולם לא תתעדכן

        מייל: nigun@duck.com

        yossizY תגובה 1 תגובה אחרונה
        0
        • nigunN nigun

          @clickone
          נתת לי רעיון חדש
          שיעזור למי גם למי שמכיר את לינוקס ישר והפוך (אולי זה פתרון לנטפרי)
          וזה פשוט למוצא תוכנה כמו CRON שרצה במילא על כל מחשב לינוקס
          ואם יש אותו בקוד פתוח פשוט להוסיף לתוכנה שורה שבודקת כל X דקות האם השירות הראשי פעיל ואם לא אז מפעיל שוב/מתקין
          ואז לקמפל אותה (אפשר לעשות את התהליך הזה על שרת ואז לתוכנה תוריד אותה)
          ולהחליף את התוכנה המזויפת עם התוכנה הישנה ואז גם ללקוח הכי מתוכם אין אפשרות לדעת מי שחדש את הפעולה כל הזמן
          הבעיה היא שמידי פעם יש עדכוני תוכנה שפשוט ידרסו את התוכנה המזוייפת
          בשביל זה אפשר אולי להריץ סקריפט בשירות הראשי שבודק כל הזמן האם יש עדכון לתוכנה הזאת
          ואם כן, היא יוצרת עותק חדש של הגירסה האחרונה ומעדכנת בלי לשאול את הלקוח
          החסרון בזה הוא שלא תמיד הלקוח רוצה עדכון והוא לא יבין מי עדכן את זה לבד (אבל ברוב המשתמשים זה לא רלוונטי)
          אפשרות שניה היא להגדיר איכשהו שAPT ידלג על הבדיקה של התוכנה הזה והיא לעולם לא תתעדכן

          yossizY מחובר
          yossizY מחובר
          yossiz
          כתב ב נערך לאחרונה על ידי
          #7

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

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          nigunN תגובה 1 תגובה אחרונה
          4
          • yossizY yossiz

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

            nigunN מנותק
            nigunN מנותק
            nigun
            כתב ב נערך לאחרונה על ידי
            #8

            @yossiz
            את האמת לא הבנתי כל כך איך אפשר לשנות דברים בקרנל אז לכן הלכתי על כל מיני כיוונים הזויים
            האם יש לך כיוון לתת לי להבין איך עובד מודול קרנל?

            מייל: nigun@duck.com

            yossizY תגובה 1 תגובה אחרונה
            0
            • nigunN nigun

              @yossiz
              את האמת לא הבנתי כל כך איך אפשר לשנות דברים בקרנל אז לכן הלכתי על כל מיני כיוונים הזויים
              האם יש לך כיוון לתת לי להבין איך עובד מודול קרנל?

              yossizY מחובר
              yossizY מחובר
              yossiz
              כתב ב נערך לאחרונה על ידי yossiz
              #9

              @nigun לא משנים דברים בקרנל, מודול קרנל זה ספרייה שנטענת על ידי הקרנל ומשתמשת ב-API של הקרנל להוסיף יכולות או התנהגויות שונות לקרנל.
              דרייברים הם סוג של מודול קרנל, שמוסיפים יכולות לקרנל לתקשר מול התקנים שונים
              ווייפרי הוא "מודול קרנל" בווינדוס שמשתשמת ב-API של הקרנל שמיועד עבור סינון תעבורה, (וגם הגנת הרכיבים הנחוצים ממחיקה)
              מן הסתם יש משהו מקביל בלינוקס.
              לעניינך אתה רוצה להשתמש ב-API של הקרנל עבור דבר אחד ויחיד - מניעת הריגת תהליך. כל השאר אין צורך ולא מומלץ לעשות בתוך הקרנל, תעשה ב-userland (מרחב ה-user לעומת מרחב הקרנל).
              פה יש תחילת מהלך.
              אבל שים לב לכמה דברים:

              • מודול קרנל צריך לכתוב ב-C.
              • גם אם אתה מכיר את שפת C, יש קשיים והגבלות מיוחדים בתכנות קרנל שלא קיימים ב-userland
              • שגיאה בקוד של המודול יגרום ל-kernel panic (המקביל של מסך כחול בלינוקס)
              • בד"כ צריך להתאים אותו לגירסת הקרנל, (ה-API שפנימי של הקרנל לא יציב ומשתנה כל הזמן), אם זה לא מתקבל כחלק מהקוד של הקרנל, תצטרך לשדרג אותו בכל שחרור חדש של הקרנל או לחילופין לא לשדרג את גירסת הקרנל שלך.

              (סוף דבר, תשקול פתרון לא טכנולוגי...)

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              nigunN תגובה 1 תגובה אחרונה
              5
              • yossizY מחובר
                yossizY מחובר
                yossiz
                כתב ב נערך לאחרונה על ידי
                #10

                @nigun כנראה אפשר להגדיר תהליך כ"בלתי הריג" על ידי Apparmor.

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                תגובה 1 תגובה אחרונה
                3
                • yossizY מחובר
                  yossizY מחובר
                  yossiz
                  כתב ב נערך לאחרונה על ידי
                  #11

                  @nigun עוד מידע טוב, https://unix.stackexchange.com/a/484452

                  נ.ב. בסוף היום, מי שעשה את החסימה תמיד ידע איך להוריד אותו, אין מנוס מזה.

                  📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                  תגובה 1 תגובה אחרונה
                  3
                  • dovidD מחובר
                    dovidD מחובר
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי dovid
                    #12

                    המשפט הזה

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

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

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    nigunN תגובה 1 תגובה אחרונה
                    3
                    • dovidD dovid

                      המשפט הזה

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

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

                      nigunN מנותק
                      nigunN מנותק
                      nigun
                      כתב ב נערך לאחרונה על ידי
                      #13

                      @dovid אמר ביצירת שירות שלא ניתן לעצירה בלינוקס:

                      המשפט הזה

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

                      בכלל לא נכון. נטפרי לא עובדים על זה בינתיים בכלל,

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

                      מייל: nigun@duck.com

                      תגובה 1 תגובה אחרונה
                      0
                      • yossizY yossiz

                        @nigun לא משנים דברים בקרנל, מודול קרנל זה ספרייה שנטענת על ידי הקרנל ומשתמשת ב-API של הקרנל להוסיף יכולות או התנהגויות שונות לקרנל.
                        דרייברים הם סוג של מודול קרנל, שמוסיפים יכולות לקרנל לתקשר מול התקנים שונים
                        ווייפרי הוא "מודול קרנל" בווינדוס שמשתשמת ב-API של הקרנל שמיועד עבור סינון תעבורה, (וגם הגנת הרכיבים הנחוצים ממחיקה)
                        מן הסתם יש משהו מקביל בלינוקס.
                        לעניינך אתה רוצה להשתמש ב-API של הקרנל עבור דבר אחד ויחיד - מניעת הריגת תהליך. כל השאר אין צורך ולא מומלץ לעשות בתוך הקרנל, תעשה ב-userland (מרחב ה-user לעומת מרחב הקרנל).
                        פה יש תחילת מהלך.
                        אבל שים לב לכמה דברים:

                        • מודול קרנל צריך לכתוב ב-C.
                        • גם אם אתה מכיר את שפת C, יש קשיים והגבלות מיוחדים בתכנות קרנל שלא קיימים ב-userland
                        • שגיאה בקוד של המודול יגרום ל-kernel panic (המקביל של מסך כחול בלינוקס)
                        • בד"כ צריך להתאים אותו לגירסת הקרנל, (ה-API שפנימי של הקרנל לא יציב ומשתנה כל הזמן), אם זה לא מתקבל כחלק מהקוד של הקרנל, תצטרך לשדרג אותו בכל שחרור חדש של הקרנל או לחילופין לא לשדרג את גירסת הקרנל שלך.

                        (סוף דבר, תשקול פתרון לא טכנולוגי...)

                        nigunN מנותק
                        nigunN מנותק
                        nigun
                        כתב ב נערך לאחרונה על ידי
                        #14

                        @yossiz אמר ביצירת שירות שלא ניתן לעצירה בלינוקס:

                        מודול קרנל צריך לכתוב ב-C.

                        זה נראה מכאן שאפשר לבנות גם בrust
                        או שזה משהו אחר בכלל?

                        מייל: nigun@duck.com

                        yossizY תגובה 1 תגובה אחרונה
                        1
                        • nigunN nigun

                          @yossiz אמר ביצירת שירות שלא ניתן לעצירה בלינוקס:

                          מודול קרנל צריך לכתוב ב-C.

                          זה נראה מכאן שאפשר לבנות גם בrust
                          או שזה משהו אחר בכלל?

                          yossizY מחובר
                          yossizY מחובר
                          yossiz
                          כתב ב נערך לאחרונה על ידי
                          #15

                          @nigun צודק. צריך לבדוק אם זה מספיק יציב.

                          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                          nigunN תגובה 1 תגובה אחרונה
                          0
                          • yossizY yossiz

                            @nigun צודק. צריך לבדוק אם זה מספיק יציב.

                            nigunN מנותק
                            nigunN מנותק
                            nigun
                            כתב ב נערך לאחרונה על ידי
                            #16

                            @yossiz
                            מצאתי דיון גם האם ניתן לבנות עם GO ?
                            אבל לא הבנתי מה המסקנה
                            בנתיים שלחתי את הסרטון לבדיקה אולי שם נמצאים כל ההסברים

                            מייל: nigun@duck.com

                            yossizY תגובה 1 תגובה אחרונה
                            0
                            • nigunN nigun

                              @yossiz
                              מצאתי דיון גם האם ניתן לבנות עם GO ?
                              אבל לא הבנתי מה המסקנה
                              בנתיים שלחתי את הסרטון לבדיקה אולי שם נמצאים כל ההסברים

                              yossizY מחובר
                              yossizY מחובר
                              yossiz
                              כתב ב נערך לאחרונה על ידי
                              #17

                              @nigun הדיון שם על כתיבת קרנל שלם ב-GO. לכתוב מודול עבור קרנל לינוקס נראה לי שכולי עלמא מודים שאי אפשר, כי תוכנות GO חייבים את ה-runtime של GO, וב-runtime של GO יש יותר מדי דברים שתלויים על ההנחה שהקוד רצה ב-userspace.

                              כתבתי מסברא, יכול להיות שאני טועה, או שיש runtime חילופי ל-GO שירוץ בתוך הקרנל, או שאפשר לכתוב אחד כזה.

                              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                              תגובה 1 תגובה אחרונה
                              1
                              תגובה
                              • תגובה כנושא
                              התחברו כדי לפרסם תגובה
                              • מהישן לחדש
                              • מהחדש לישן
                              • הכי הרבה הצבעות


                              בא תתחבר לדף היומי!
                              • התחברות

                              • אין לך חשבון עדיין? הרשמה

                              • התחברו או הירשמו כדי לחפש.
                              • פוסט ראשון
                                פוסט אחרון
                              0
                              • דף הבית
                              • קטגוריות
                              • פוסטים אחרונים
                              • משתמשים
                              • חיפוש
                              • חוקי הפורום