כיצד ליצור ולנהל שירותי משתמש בלינוקס

Kyzd Lyzwr Wlnhl Syrwty Mstms Blynwqs



משתמש רגיל בלינוקס יכול ליצור שירות מערכת מותאם אישית. בעוד ששירותי systemd מנוהלים ברובם על ידי מנהלי מערכת באמצעות פקודת systemctl. ניתן להשתמש באותה פקודה גם לניהול שירותים ספציפיים למשתמש; כל מה שאתה צריך זה א -מִשׁתַמֵשׁ דֶגֶל.

במדריך זה, אספר כיצד ליצור שירות ספציפי למשתמש בלינוקס וכיצד לנהל אותו באמצעות systemctl.

סיבה לשירות משתמש רגיל

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







כיצד ליצור שירות משתמש רגיל

השירותים הספציפיים למשתמש ב-Linux ממוקמים ב- ~/.config/systemd/user מַדרִיך. אם ספרייה זו אינה קיימת, ניתן ליצור אותה.

mkdir -עמ' ~ / .config / systemd / מִשׁתַמֵשׁ

ה -עמ' הדגל משמש ליצירת ספריית אב במידת הצורך. ה ~ מציין את ספריית הבית של המשתמש המקומי ושווה ל /home/user בעוד שהנקודה שלפני קובץ התצורה הופכת אותו למוסתר. בואו ניצור קובץ סקריפט bash פשוט שיכתוב את השימוש בזיכרון לטקסט כל 30 דקות. אני יוצר את התסריט עם השם של script.sh .

#! /bin/bash

בזמן נָכוֹן

לַעֲשׂוֹת

חינם -M >> / בית / מִשׁתַמֵשׁ / myfile.txt

לִישׁוֹן 1800

בוצע

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

כעת, בואו ניצור שירות שיבצע את הסקריפט שלמעלה ברקע. הפעל כל עורך טקסט, כגון Nano או Vim, והדבק בו את השורות המפורטות למטה.

[ יחידה ]

תיאור =השירות שלי

[ שֵׁרוּת ]

סוּג =פשוט

ExecStart = / פַּח / לַחֲבוֹט / בית / מִשׁתַמֵשׁ / script.sh

איתחול =על כישלון

[ להתקין ]

WantedBy =default.target

בסעיף [יחידה], ה תיאור ההנחיה פשוט מכילה את שם השירות. שים לב שזה לא צריך להיות יותר מ-80 תווים.

הסעיף [שירות] מכיל את שלוש ההנחיות החשובות. ראשית, ה סוּג ; שהוא פָּשׁוּט , לאחר מכן ExecStart המכיל את קובץ ההפעלה של הסקריפט המותאם אישית שלנו. השירות יופעל מחדש רק כאשר יש כשל.

הסעיף [התקן] מכיל את WantedBy הנחיה שהיא default.target , מה שמרמז שהשירות יופעל במצב המערכת כאשר הוא יושג ברמת הריצה המוגדרת כברירת מחדל, שהיא בדרך כלל multi-user.target או graphical.target.

כעת, שמור את הקובץ ב- ~/.config/systemd/user ספרייה עם כל שם; אני נותן לזה שם myservice.service .

כיצד לנהל שירות משתמש רגיל

כדי לנהל את שירות המשתמש הרגיל, נעשה שימוש בפקודת systemctl עם ה -מִשׁתַמֵשׁ דֶגֶל. ה -מִשׁתַמֵשׁ הדגל מציין שהמשתמש יוצר קשר עם מנהל השירות, ולא עם המערכת.

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

systemctl --מִשׁתַמֵשׁ דימון-טעינה מחדש

זה יחיל את השינויים.

כדי לדעת אם השירות פועל או לא, השתמש ב-systemctl, עם ה- -מִשׁתַמֵשׁ דגל ואופציה.

systemctl --מִשׁתַמֵשׁ סטָטוּס [ שם השירות ]

פקודות אחרות לניהול שירות המשתמש הרגיל מוזכרות להלן:

systemctl --מִשׁתַמֵשׁ הַתחָלָה [ שם השירות ]

systemctl --מִשׁתַמֵשׁ לְאַפשֵׁר [ שם השירות ]

systemctl --מִשׁתַמֵשׁ תפסיק [ שם השירות ]

systemctl --מִשׁתַמֵשׁ להשבית [ שם השירות ]

systemctl --מִשׁתַמֵשׁ איתחול [ שם השירות ]

כיצד ליצור שירות משתמש רגיל עם הרשאות מנהל מערכת

ישנם שירותים רבים שמשתמש יוצר, אך הם דורשים הרשאת מנהל כדי לפעול. ניתן ליצור שירותים כאלה על ידי הוספת א מִשׁתַמֵשׁ הנחיה לסעיף [שירות].

ה מִשׁתַמֵשׁ ניתן להשתמש ב-directive כדי להזכיר את שם המשתמש שההרשאות שלו נדרשות להפעלת השירות, כגון מנהל . לכן, אם משתמש רגיל רוצה ליצור שירות שדורש הרשאות אדמין, פשוט הוסף את ה משתמש=מנהל בסעיף [שירות] יעשה את העבודה. עם זאת, שירות זה יישאר פעיל כל עוד המנהל פעיל. שימו לב שלא ניתן לשלוט בשירות זה ישירות על ידי מנהל המערכת.

סיכום

המשתמש הרגיל יכול גם ליצור שירות systemd, אך יש להכניסו אליו ~/.config/systemd/user מַדרִיך. שירות זה פועל כל עוד המשתמש שיצר אותו מחובר. שירותים אלו מנוהלים גם באמצעות פקודת systemctl אך עם -מִשׁתַמֵשׁ דֶגֶל. מה שאומר ל-systemd שהשירות נקרא על ידי המשתמש, לא על ידי המערכת. במדריך זה, יצרתי שירות משתמש רגיל מותאם אישית והזכרתי פקודות systemctl לניהולו. יתרה מכך, הדגשתי גם שיטה ליצירת שירות הדורש הרשאות ניהול.