Usługi systemowe odgrywają kluczową rolę w funkcjonowaniu systemu Linux, obsługując różne zadania i procesy w tle.systemctl>to potężne narzędzie wiersza poleceń, które pozwala użytkownikom efektywnie zarządzać tymi usługami. W tym artykule omówimy podstawy użytkowaniasystemctl>do uruchamiania, zatrzymywania, ponownego uruchamiania, włączania, wyłączania i wyświetlania stanu usług w środowisku Linux.
Co to jest systemctl?
Zanim zagłębisz się w zarządzanie usługami, konieczne jest zrozumienie podstawsystemctl>. To polecenie służy do kontrolowania systemu systemowego i menedżera usług, który jest centralnym komponentem nowoczesnych dystrybucji Linuksa.
systemctl [command] [unit]>
Tutaj,
-
command>: Akcja do wykonania (np. uruchomienie, zatrzymanie, ponowne uruchomienie, włączenie, wyłączenie). -
unit>: Usługa lub jednostka, której dotyczy problem.
Systemctl jest kontrolerem lub użyteczność Systemd (system init z zestawem programów wykonywanych w tle), pomocniczy w zarządzaniu usługami. Te polecenia są wykonywane w trybie root, jeśli nie jesteś w trybie rootowania systemu, żądając hasła roota.
Co to jest usługa?
Usługa informatyczna to proces działający w tle, który wykonuje określone zadania i funkcje bez interwencji użytkownika. Usługi często uruchamiają się automatycznie podczas uruchamiania systemu i działają w sposób ciągły, zapewniając takie funkcje, jak udostępnianie stron internetowych, udostępnianie plików lub monitorowanie systemu. Są zarządzane przez system operacyjny i w razie potrzeby można je uruchamiać, zatrzymywać lub uruchamiać ponownie. Usługi pomagają zapewnić stałą dostępność niezbędnych operacji. Przykładami są serwery internetowe, takie jak Apacz, serwery baz danych, takie jak MySQL-a, I usługi logowania do systemu.
Co to jest demon?
Demon to proces działający w tle, który działa nieprzerwanie w systemie Linux lub Unix. Wykonuje zadania bez bezpośredniej interakcji użytkownika, często rozpoczynając automatycznie przy uruchomieniu. Typowe przykłady obejmują serwery WWW, serwery baz danych i narzędzia do monitorowania systemu. Demony zwykle mają nazwy kończące się na d, nphttpd>Lubsshd>. Pomagają efektywnie zarządzać funkcjami i usługami systemu.
Jaki jest system init?
System init to pierwszy proces uruchamiany podczas uruchamiania systemu Linux i odpowiedzialny za inicjalizację systemu. Zarządza usługami i procesami systemowymi, obsługując ich uruchomienie, zatrzymanie i ponowne uruchomienie. Typowe systemy init obejmują SysVinit, Upstart i systemd. System init czuwa nad poprawnym działaniem wszystkich niezbędnych usług i zarządza zależnościami pomiędzy nimi. Działa w tle, monitorując i zarządzając procesami systemowymi przez cały czas działania systemu.
Jednostki w systemd
W systemd jednostki są podstawowymi obiektami, którymi systemd zarządza i które kontroluje. Reprezentują zasoby systemowe, takie jak usługi, liczniki czasu, urządzenia i punkty podłączenia. Każda jednostka jest zdefiniowana przez plik konfiguracyjny z określonym przyrostkiem, np.service>za usługi lub.timer>dla timerów. Jednostki można uruchamiać, zatrzymywać, włączać i wyłączać za pomocą poleceń systemctl. Są one niezbędne do zdefiniowania sposobu uruchamiania systemu i zarządzania różnymi procesami i zasobami.
.jednostki serwisowe w systemd
Systemowy.service>jednostki to pliki konfiguracyjne używane do zarządzania usługami w systemach Linux. Definiują, jak i kiedy usługi powinny być uruchamiane, zatrzymywane i ponownie uruchamiane. Każdy.service>plik zawiera szczegółowe informacje, takie jak nazwa usługi, opis i polecenie do uruchomienia. Pliki te zazwyczaj znajdują się w/etc/systemd/system>Lub/lib/systemd/system>. Zarządzanie nimi obejmuje polecenia takie jaksystemctl start>,systemctl stop>, Isystemctl enable>.
Jak znaleźć wszystkie jednostki systemowe w systemie?
Aby wyświetlić listę dostępnych jednostek systemowych lub wyświetlić listę wszystkich usług w systemie Linux, używamy następującego polecenia:
systemctl list-unit-files --type service -all>
Jak uruchomić usługę systemową w systemie Linux
Składnia:
w.next Java
sudo systemctl start service.service>
Polecenie start służy do uruchomienia (aktywacji) jednej lub większej liczby jednostek podanych w linii poleceń.
Przykład:
sudo systemctl start mariadb>

Rozpocznij polecenie
Jak zatrzymać usługę systemową w systemie Linux
Składnia:
sudo systemctl stop service.service>
Polecenie stop służy do zatrzymania usługi lub (dezaktywacji) jednej lub więcej jednostek podanych w wierszu poleceń.
Przykład:
sudo systemctl stop mariadb>

Polecenie zatrzymania i stan
Jak wyświetlić status usługi systemowej w systemie Linux
Składnia:
sudo systemctl status service.service>
Komenda status służy do sprawdzania statusu usługi. Wyświetl zwięzłe informacje o stanie środowiska wykonawczego dotyczące jednej lub większej liczby jednostek, a następnie najnowsze dane dziennika z dziennika. Jeśli nie określono żadnych jednostek, pokaż stan systemu.
Przykład:
sudo systemctl status mariadb>

Stan polecenia
Jak ponownie uruchomić usługę systemową w systemie Linux
Składnia:
sudo systemctl restart service.service>
Polecenie restart służy do ponownego uruchomienia wykonywanej usługi. Zatrzymaj, a następnie uruchom jedną lub więcej jednostek określonych w wierszu poleceń. Jeżeli jednostki jeszcze nie pracują, zostaną uruchomione.
Przykład:
sudo systemctl restart mariadb>

Polecenie Uruchom ponownie
Jak włączyć usługę systemową w systemie Linux
Składnia:
sudo systemctl enable name_service.service>
Polecenie Enable służy do wykonania usługi od momentu inicjalizacji, jeśli składa się z jednej lub większej liczby jednostek lub instancji jednostek. Spowoduje to utworzenie zestawu dowiązania symboliczne , zakodowany w sekcjach [Install] wskazanych plików jednostkowych. konfiguracja menedżera systemu jest ładowana ponownie (w sposób równoważny przeładowaniu demona), aby mieć pewność, że zmiany zostaną natychmiast uwzględnione.
Przykład
sudo systemctl enable mariadb>

Polecenie Włącz

Stan polecenia
25 ze 100
Jak wyłączyć usługę systemową w systemie Linux
Składnia:
sudo systemctl disable name_service.service>
Polecenie wyłączenia służy do wycofania usługi od czasu inicjalizacji jednego lub większej liczby urządzeń. Spowoduje to usunięcie wszystkich dowiązań symbolicznych do plików jednostek stanowiących kopię zapasową określonych jednostek z katalogu konfiguracji jednostki, a tym samym cofnie wszelkie zmiany wprowadzone przez włączenie lub łącze.
Przykład:
sudo systemctl disable mariadb>

Polecenie Wyłącz

Stan polecenia
Zamknij lub uruchom ponownie system za pomocą systemctl
Uruchom ponownie system: To instruujesystemd>aby zrestartować cały system. Wszystkie usługi zostaną zatrzymane, a system przejdzie pełny proces zamykania przed ponownym uruchomieniem.
sudo systemctl reboot>
Zamknij system: Informuje system o konieczności wyłączenia maszyny. Wszystkie usługi i procesy zostaną zatrzymane, a system zostanie bezpiecznie wyłączony.
sudo systemctl shutdown>
dziennikctl
journalctl>to polecenie używane w systemach Linux do wysyłania zapytań i wyświetlania dzienników zsystemd>dziennik, będący usługą systemową gromadzącą i przechowującą dane logowania. Oto prosty przewodnik, jak używaćjournalctl>:
journalctl -n 10>służy do wyświetlania ostatnich 10 wpisów (wierszy) z dziennika systemowego. Oto zestawienie działania każdej części polecenia:
-
journalctl>: Wywołujejournalctl>polecenie, które służy do wysyłania zapytań i wyświetlania dzienników z dziennika systemowego. -
-n 10>: Określa liczbę wyświetlanych linii. W tym przypadku,-n 10>instruujejournalctl>aby wyświetlić 10 ostatnich wpisów z dziennika.
journalctl -n 10>
Zabezpieczanie usługi za pomocą systemd jest podstawową praktyką mającą na celu zabezpieczenie systemu przed potencjalnymi lukami w zabezpieczeniach i nieautoryzowanym dostępem. Oto uproszczony przewodnik, jak to osiągnąć:
1. Zrozumienie plików jednostek serwisowych
- Konfiguracja usługi : Każda usługa w systemd jest zarządzana przez plik jednostkowy, zwykle znajdujący się w
/etc/systemd/system/>. Pliki te definiują sposób działania usługi, w tym zachowanie podczas uruchamiania, limity zasobów i ustawienia zabezpieczeń.
2. Ogranicz uprawnienia do usług
- Uprawnienia użytkowników i grup : Określ użytkownika i grupę, w ramach której działa usługa. Jeśli to możliwe, unikaj korzystania z konta użytkownika root, aby zminimalizować wpływ naruszeń bezpieczeństwa.
3. Wykorzystaj systemowe funkcje bezpieczeństwa
- PrywatnyTmp : Włącz prywatny
/tmp>I/var/tmp>katalogi usługi, aby zapobiec wyciekom informacji pomiędzy różnymi usługami. - ChrońSystem i ChrońDom : Ustaw te opcje, aby ograniczyć dostęp odpowiednio do katalogów systemowych i katalogów domowych użytkowników w celu zwiększenia bezpieczeństwa systemu.
- ReadOnlyPaths i ReadWritePaths : Określ katalogi, z których usługa może czytać i do których może zapisywać. Ograniczenie dostępu do zapisu może zapobiec niezamierzonym modyfikacjom krytycznych plików.
4. Ogranicz wykorzystanie zasobów
maszynopis mapy
- Ogranicz procesor i pamięć : Używać
CPUQuota>IMemoryLimit>opcje ograniczające wykorzystanie procesora i pamięci przez usługę, zapobiegając atakom związanym z wyczerpaniem zasobów.
5. Włącz kontrolę sieci
- Ogranicz dostęp do sieci : Spożytkować
RestrictAddressFamilies>,IPAddressAllow>, IIPAddressDeny>możliwości kontroli dostępu usługi do sieci, ograniczając jej narażenie na potencjalne zagrożenia.
6. Ustaw uprawnienia systemu plików
- Uprawnienia systemu plików : Upewnij się, że pliki i katalogi usługi mają odpowiednie uprawnienia (
chmod>) i własność (chown>), aby zapobiec nieupoważnionemu dostępowi.
7. Regularnie aktualizuj i monitoruj
- Aktualizuj system : Regularnie aktualizuj oprogramowanie systemu i usług, aby łatać luki w zabezpieczeniach i mieć pewność, że stosowane środki bezpieczeństwa pozostaną skuteczne.
- Monitoruj dzienniki : Monitoruj dzienniki dziennika systemowego (
journalctl>) pod kątem wszelkich podejrzanych działań lub zdarzeń związanych z bezpieczeństwem i w razie potrzeby podjąć odpowiednie działania.
Wniosek
Omówiliśmy systemctl, który jest niezbędnym narzędziem wiersza poleceń do zarządzania usługami systemowymi w systemie Linux, odgrywającym kluczową rolę w zadaniach takich jak uruchamianie, zatrzymywanie, ponowne uruchamianie, włączanie i wyłączanie usług. W tym artykule zawarto obszerny przewodnik po systemiectl, obejmujący jego składnię i kluczowe polecenia. Od listy dostępnych jednostek systemowych po włączenie lub wyłączenie automatycznego uruchamiania, każde polecenie przyczynia się do efektywnego zarządzania usługami. W artykule omówiono także często zadawane pytania, oferując praktyczne rozwiązania takich zadań, jak sprawdzanie stanu usług, uruchamianie, zatrzymywanie i ponowne uruchamianie usług oraz włączanie lub wyłączanie automatycznego uruchamiania. Ogólnie rzecz biorąc, zrozumienie i opanowanie poleceń systemctl jest niezbędne Administratorzy Linuksa aby zapewnić stabilność i optymalną wydajność swoich systemów.
Systemctl – często zadawane pytania
Co to jest usługa systemu Linux?
Usługa systemu Linux to proces lub aplikacja działająca w tle, działająca niezależnie od interakcji użytkownika, zapewniająca określoną funkcjonalność lub wykonująca zadania systemowe. Jest zarządzany przez system init, zwykle systemd, i można go uruchamiać, zatrzymywać i zarządzać nim za pomocą poleceń takich jak
systemctl>.
Jaka jest różnica między Systemctl a usługą?
systemctl>to narzędzie wiersza poleceń służące do zarządzania usługami systemowymi, natomiastservice>jest dowiązaniem symbolicznym dosystemctl>w wielu systemach, zapewniając zgodność ze starszymi skryptami inicjującymi.
Jak sprawdzić stan usługi w systemie Linux?
Użyj `
systemctl status `>aby sprawdzić, czy usługa jest uruchomiona, aktywna (ostatnio zatrzymana) czy nieaktywna (nigdy nie uruchomiona). Ujawnia to ważne informacje, takie jak wykorzystanie pamięci i aktywne połączenia.
Jak uruchomić, zatrzymać i ponownie uruchomić usługę?
Na początek , używać :
sudo systemctl start>Postojowy , używać :
sudo systemctl stop>Zrestartować , używać :
sudo systemctl restart>Notatka : Pamiętaj o wymianie
>z rzeczywistą nazwą usługi.
Jak sprawić, aby usługa uruchamiała się automatycznie podczas rozruchu?
Używać
sudo `>systemctl enable `>aby ustawić usługę tak, aby uruchamiała się automatycznie po uruchomieniu systemu.Aby wyłączyć automatyczne uruchamianie, użyj `
sudo systemctl disable `>.