opened image

Linux სერვერებზე სერვისები და მათი ადმინისტრირება Systemd-ის გამოყენებით

Linux — ეს არის ოპერაციული სისტემა ღია წყაროთი, ცნობილი თავისი მოქნილობით, სტაბილურობით და ფართო ინსტრუმენტების ნაკრებით პროცესების და სერვისების მართვისთვის. ერთ-ერთი ასეთი ინსტრუმენტი არის Systemd, რომელიც გახდა სისტემური სერვისების მართვის სტანდარტი თანამედროვე Linux დისტრიბუციების უმეტესობაში. Systemd-ის ერთ-ერთი მთავარი უპირატესობა არის მისი შესაძლებლობა ეფექტურად მართოს გაშვებული სერვისები და სისტემური რესურსები.

ამ სტატიაში ჩვენ დეტალურად განვიხილავთ, როგორ უნდა გამოვიყენოთ Systemd ყველა გაშვებული სერვისის ჩვენებისთვის, მათი მართვისთვის და იმ პორტების კონტროლისთვის, რომლებიც ამ სერვისებს იყენებენ. ასევე განვიხილავთ, როგორ უნდა გამოვიყენოთ Systemd უსაფრთხოების მონიტორინგისთვის ფაირ ვოლზე.

 

რა არის სერვისების მართვის სისტემები Linux-ში?

 

Linux-ში სერვისების მართვა — ეს არის ადმინისტრირების მთავარი ასპექტი. მნიშვნელოვანია სწრაფად მიიღოთ ინფორმაცია იმაზე, რომელი სერვისები მუშაობენ, ხოლო რომელი დასრულდა ან გამორთულია. ეს საჭიროა სისტემის შესრულების მონიტორინგისთვის და პრობლემების აღმოსაფხვრელად, თუ ასეთი აღმოჩნდება.

წინათ სერვისების ადმინისტრირება ხდებოდა init-ის საშუალებით — ტრადიციული ინიციალიზაციის პროცესით, რომელიც პასუხისმგებელი იყო სერვისების გაშვებაზე სისტემის ჩატვირთვის დროს. თუმცა Systemd-ის დანერგვის შემდეგ მართვა გახდა უფრო მოქნილი და ძლიერი. Systemd შეცვალა init და გახდა დეფაქტო სტანდარტი უმეტეს Linux დისტრიბუციებში, როგორიცაა Ubuntu, CentOS და Fedora.

 

რა არის Systemd?

 

Systemd — ეს არის სისტემური მენეჯერი ინიციალიზაციის, რომელიც მართავს პროცესებს და სერვისებს Linux-ში. იგი შექმნილია სისტემის ჩატვირთვის სიჩქარის გაზრდისთვის და მოძველებული init-ის ჩანაცვლებისთვის. Systemd ასრულებს რამდენიმე მნიშვნელოვან ფუნქციას:

  • სერვისების ინიციალიზაცია სისტემის გაშვების დროს.
  • დამოკიდებულებების მართვა სერვისებს შორის.
  • სერვისების და პროცესების მდგომარეობის მონიტორინგი სისტემაში.
  • ჟურნალი (systemd-journald) ყველა მოვლენისთვის, რომელიც დაკავშირებულია სერვისებთან და პროცესებთან.

Systemd-ის ერთ-ერთი მთავარი უპირატესობა არის მისი თავსებადობა SysV-თან და ძველი LSB სკრიპტების მხარდაჭერა, რაც საშუალებას აძლევს შეუფერხებლად გადავიდეთ init-ის გამოყენებიდან უფრო თანამედროვე სერვისების მართვაზე.

რატომ არის საჭირო გაშვებული სერვისების ჩვენება?

მნიშვნელოვანია იცოდეთ, რომელი სერვისები გაშვებულია თქვენს სისტემაში, რაც კრიტიკულია ადმინისტრირებისათვის. ეს საშუალებას აძლევს:

  • რესურსების გამოყენების მონიტორინგი: თუ სერვისი მოიხმარს ძალიან ბევრ მეხსიერებას ან პროცესორულ ძალას, ეს შეიძლება მიუთითებდეს პრობლემაზე.
  • პრობლემების აღმოფხვრა: სისტემური ჩავარდნების შემთხვევაში სწრაფად შეგიძლიათ განსაზღვროთ, რომელი სერვისი იყო პრობლემის მიზეზი.

პროდუქტიულობის ოპტიმიზაცია: საჭირო არარსებული სერვისები შეიძლება გამორთოთ ან მათი გაშვება მოთხოვნის მიხედვით დაარეგულიროთ, რაც შეამცირებს სისტემის დატვირთვას.

 

 

ყველა სერვისის ჩვენება Linux-ში Systemd-ის საშუალებით

 

ყველა სერვისის, რომელიც აქტიურია სისტემაში, გამოსატანად შეგიძლიათ გამოიყენოთ შემდეგი ბრძანებები:

systemctl list-units --type=service

ეს მეთოდი გამოიტანს ყველა სისტემური ერთეულის სიას, რომელიც ტიპის "სერვისია", სისტემაში ჩატვირთული. ბრძანება აჩვენებს როგორც აქტიურ, ასევე დასრულებულ სერვისებს. გამარტივებული გამოსატანად შეგიძლიათ გამოიყენოთ შემცირებული ბრძანება:

systemctl --type=service

 

როგორ უნდა გამოვაჩინოთ აქტიური სერვისები Systemd-ში

 

აქტიური სერვისები — ეს არის ის, რომლებიც ან კვლავ მუშაობენ, ან დასრულდნენ, მაგრამ ჯერ არ არიან გამოტანილი მეხსიერებიდან. ყველა აქტიური სერვისის სიის სანახავად უნდა შეასრულოთ შემდეგი ბრძანება:

systemctl list-units --type=service --state=active

მინიმალური პარამეტრებით გამოსატანად შეგიძლიათ გამოიყენოთ ალტერნატიული ბრძანება:

systemctl --type=service --state=active

როგორ უნდა გამოვაჩინოთ მხოლოდ გაშვებული სერვისები

გაშვებული სერვისები — ეს არის ის, რომლებიც ამჟამად მუშაობენ. მათი გამოსატანად გამოიყენეთ შემდეგი ბრძანება:

systemctl list-units --type=service --state=running

ალტერნატიული ბრძანება:

systemctl --type=service --state=running

ეს ბრძანებები დაეხმარება სისტემური ადმინისტრატორების სწრაფად მიღებაში ინფორმაციას იმაზე, რომელი სერვისები მუშაობენ ამჟამად.

მნიშვნელოვანი ტერმინები Systemd-ში

  • Unit (იუნიტი) — ეს არის ძირითადი ერთეული Systemd-ში. იუნიტები შეიძლება იყოს სერვისები, მოწყობილობები, მთა-წერტილები, სოკეტები და სხვა ობიექტები, რომლებიც მართავს სისტემას.
  • Load (ჩატვირთვა) — სტატუსი, რომელიც მიუთითებს, არის თუ არა იუნიტი ჩატვირთული მეხსიერებაში.
  • Active (აქტიური) — მიუთითებს, არის თუ არა იუნიტი აქტიური (მაგალითად, სერვისი გაშვებულია და მუშაობს).
  • SUB (ქვესостояება) — განმარტებული სტატუსი იუნიტისთვის, რომელიც აჩვენებს მის მიმდინარე მდგომარეობას, მაგალითად, "running" (მუშაობს) ან "failed" (ჩამოვარდა).
  • Description (აღწერა) — მოკლე სტრიქონი, რომელიც აღწერს იუნიტის მიზანს.

 

Systemd-ის ბრძანების ალიასის შექმნა

 

გაშვებული სერვისების გამოსატანად ბრძანების გამოძახების გამარტივებისთვის შეგიძლიათ შექმნათ ალიასი. ეს განსაკუთრებით სასარგებლოა, თუ ხშირად უნდა შეასრულოთ ერთი და იგივე ბრძანება.

დაამატეთ შემდეგი ალიასი ფაილში ~/.bashrc:

alias running_services='systemctl list-units --type=service --state=running'

ამ ალიასის დამატების შემდეგ განაახლეთ მიმდინარე სესია ბრძანებით:

 

source ~/.bashrc

ახლა შეგიძლიათ სწრაფად გამოიტანოთ გაშვებული სერვისები, utilizando ბრძანება

running_services.

სერვისის მიერ მოსმენილი პორტის განსაზღვრა

რომელ პორტს იყენებს კონკრეტული სერვისი, ამის გასარკვევად შეგიძლიათ გამოიყენოთ შემდეგი ბრძანებები:

netstat -ltup | grep <პროცესის_სახელი>

ალტერნატიული ბრძანება ss-ის გამოყენებით:

ss -ltup | grep <პროცესის_სახელი>

ეს ბრძანებები გამოიტანს ყველა პორტს, რომელზეც სერვისები უსმენენ შემომავალი კავშირებისათვის, ასევე ინფორმაციას თავად სერვისებზე.

 

სერვისების და პორტების ჩვენება, რომლებიც გახსნილია ფაირ ვოლში

 

სისტემის უსაფრთხოების კონტროლისათვის მნიშვნელოვანია იცოდეთ, რომელი სერვისები და პორტები არის დაშვებული ფაირ ვოლში. განვიხილოთ, როგორ უნდა გავაკეთოთ ეს სხვადასხვა ფაირ ვოლების გამოყენებით.

FirewallD

დაშვებული სერვისების გამოსატანად:

firewall-cmd --list-services

გახსნილი პორტების გამოსატანად:

firewall-cmd --list-ports

UFW

UFW-ის სტატუსის და დაშვებული სერვისების და პორტების სიის გამოსატანად:

sudo ufw status

ეს ბრძანებები დაგეხმარებათ განსაზღვროთ, რომელი პორტები და სერვისები არის დაშვებული წვდომისთვის გარედან ფაირ ვოლზე.

 

 

დასკვნა

სერვისების მართვა — ეს არის Linux სისტემების ადმინისტრირების მნიშვნელოვანი ნაწილი. Systemd უზრუნველყოფს ძლიერ ინსტრუმენტებს სერვისების მონიტორინგისა და მართვისთვის, რაც მას შეუცვლელს ხდის თანამედროვე ადმინისტრატორებისთვის. მისი საშუალებით მარტივად შეგიძლიათ გააკონტროლოთ აქტიური სერვისები, შეამოწმოთ მათი მდგომარეობა და ოპტიმიზირდეთ რესურსების გამოყენება. უფრო მეტიც, Systemd საშუალებას აძლევს უსაფრთხოების ინტეგრაციას, აკვირდება პორტებს და ურთიერთობას ფაირ ვოლთან, რაც ხელს უწყობს სისტემის დაცვის დონეს.

 

ასევე გთავაზობთ სხვა სასარგებლო სტატიების განხილვას: