Eine detaillierte Einführung in die Linux-Systemkonfiguration (Dienststeuerung)

Eine detaillierte Einführung in die Linux-Systemkonfiguration (Dienststeuerung)

Vorwort

Das Linux-Betriebssystem enthält eine große Anzahl von Dienstprogrammen. Diese Dienstprogramme werden je nach voreingestelltem Status beim Umschalten der Betriebsebene gestartet oder beendet. Viele Systemdienste werden von Benutzern möglicherweise nicht benötigt, werden jedoch standardmäßig ausgeführt.

1. Systemdienststeuerung

1. systemctl

Im CentOS-System werden die Steuerskripte verschiedener Systemdienste standardmäßig im Verzeichnis usr/lib/systemd abgelegt. Mit dem Befehlstool systemctl können die angegebenen Systemdienste gesteuert werden. Das Syntaxformat lautet wie folgt

systemctl Steuerungstyp Dienstname

Für die meisten Systemdienste gibt es die folgenden gängigen Steuerungstypen:

Start (Start): Führen Sie das angegebene Systemdienstprogramm aus, um die Servicefunktion zu implementieren. Stopp (Stopp): Beenden Sie das angegebene Systemdienstprogramm und deaktivieren Sie die entsprechende Funktion. Neustart (Neustart): Beenden Sie zuerst das Programm und führen Sie dann das angegebene Systemdienstprogramm erneut aus. Neuladen (Neuladen): Beenden Sie das Dienstprogramm nicht, sondern aktualisieren Sie nur die Konfiguration. Dies entspricht dem Neustartvorgang bei einigen Diensten. Status (Status prüfen): Überprüfen Sie den Ausführungsstatus und die zugehörigen Informationen des angegebenen Systemdienstes.

Führen Sie bei Servern, die in tatsächlichen Produktionsumgebungen ausgeführt werden, nicht einfach Stopp- oder Neustartvorgänge aus, um eine Unterbrechung des Clientzugriffs und unnötige Verluste zu vermeiden. Wenn Sie nur neue Konfigurationen für Systemdienste aktivieren möchten, können Sie den relativ milden Parameter „reload“ verwenden, um die Konfiguration neu zu laden, anstatt „restart“ abrupt auszuführen. Wenn Sie beispielsweise für den httpd-Dienst, der Benutzern Webzugriff bereitstellt, eine neue Konfiguration anwenden müssen, wird empfohlen, den Befehl „systemctl reload httpd.service“ auszuführen, um die Konfiguration neu zu laden, anstatt „systemctl restart httpd.service“ auszuführen.

2. Ziel

(1) Ziel anzeigen

Die Kenntnis des Ziels des aktuellen Systems hilft dem Administrator bei der Behebung einiger Anwendungsfehler. Wenn das aktuelle Ziel nicht bekannt ist, können Sie zur Abfrage direkt den Befehl „Runlevel“ ausführen. Die beiden Zeichen im angezeigten Ergebnis stellen das Ziel vor dem Wechsel bzw. das aktuelle Ziel dar. Wenn der Runlevel zuvor nicht gewechselt wurde, wird in der ersten Spalte „N“ angezeigt.

Wenn der Benutzer das Ziel anzeigen möchte, das beim Systemstart standardmäßig ausgeführt wird, können Sie den Befehl "systemctl get-default" ausführen, um das Standardziel des Systems anzuzeigen

Target Beschreibung des Runlevels systemd 0target Die Verwendung dieses Levels fährt den Host herunter 1rescue.target Einzelbenutzermodus, Sie können sich ohne Kennwortüberprüfung beim System anmelden, wird hauptsächlich für die Systemwartung verwendet 2multi-user.target Benutzerdefinierter/domänenspezifischer Runlevel, entspricht 33multi-user.target Vollständiger Mehrbenutzermodus der Zeichenschnittstelle, die meisten Serverhosts laufen auf diesem Level 4multi-user.target Benutzerdefinierter/domänenspezifischer Runlevel, entspricht 35graphical.target Mehrbenutzermodus der grafischen Schnittstelle, stellt eine grafische Desktop-Betriebsumgebung bereit 6reboot.target Neustart, die Verwendung dieses Levels startet den Host neu

(2) Ziel wechseln

Wenn der Benutzer das System auf ein anderes Ziel umstellen muss, kann er dies über das herkömmliche Init-Programm tun, indem er die der Ausführungsebene (0-6) entsprechende Nummer als Befehlsparameter verwendet, oder den Befehl systermctl verwenden, um das Ziel umzuschalten. Um beispielsweise Systemressourcen zu sparen, kann das System, auf dem das Ziel ausgeführt wird, vom Grafikmodus (5) in den Zeichenmodus (3) umgeschaltet werden. Sie können den Befehl „init 3“ oder „systemctl isolate multi-user. target“ ausführen. Nachdem das System in den Zeichenmodus umgeschaltet wurde, ist die grafische Desktopumgebung nicht mehr verfügbar. Zu diesem Zeitpunkt kann die grafische Desktopumgebung nicht durch Drücken der Tastenkombination Alt+F7 wiederhergestellt werden. Wenn Sie den grafischen Desktop wieder verwenden müssen, können Sie den Befehl „init 5“ oder „systermctl isolate graphical target“ ausführen, um zurückzuschalten.

Durch Umschalten des Ziels können zwei spezielle Funktionen erreicht werden, nämlich Herunterfahren und Neustarten. Die Ausführungsebenen 0 und 6 entsprechen den beiden speziellen Modi Herunterfahren bzw. Neustarten. Führen Sie daher einfach den Befehl „init 0“ oder „init 6“ aus, um die entsprechenden Herunterfahr- oder Neustartvorgänge zu erreichen. Die Ausführungsebenen 0 und 6 entsprechen den Zielen „poweroff.target“ und „reboot.target“ von systemd, sodass die Ausführung der Befehle „systemctl poweroff“ und „systemctl reboot“ auch die entsprechenden Herunterfahr- und Neustartvorgänge erreichen kann.

Wenn Sie den Runlevel dauerhaft ändern möchten, können Sie den folgenden Befehl ausführen, um den Standard-Runlevel des aktuellen Systems von graphical.target auf multi-user.target zu ändern.

systemctl set-default runlevel3.target 

Mit dem folgenden Befehl können Sie die Boot-Oberfläche wieder in den grafischen Oberflächenmodus schalten

systemctl set-default runlevel5.target 

3. Gemeinsame Systemdienste

Im CentOS-System sind standardmäßig mehr als 100 Systemdienste installiert. Diese Systemdienste bieten Benutzern eine Fülle von Anwendungsdiensten. Nur wenn wir den Zweck jedes Systemdienstes verstehen, können wir den Betrieb gezielt optimieren und Linux-Dienste bei Bedarf aktivieren.

Allgemeine Systemdienste im CentOS-System

Dienstname und Zweck atdVerzögerte und periodische Ausführung von Aufgaben bluetoothErkennung und Authentifizierung von Bluetooth-bezogenen Geräten crondFührt geplante Aufgaben gemäß einem vorgegebenen Zeitraum aus irqbalancePlanungsunterstützung für Mehrkern-CPU-Prozessoren kdumpZeichnet Speicherinformationen auf, wenn der Kernel abstürzt lvm2-monitorLVM-Verwaltung und -Überwachung netfsZugriff auf freigegebene Ordner und andere Netzwerkdateisysteme networkKonfiguriert und verwendet Netzwerkkarten und Netzwerkadressen restorecondDateiüberwachungs- und Wiederherstellungsfunktionen des SELinux-Sicherheitsmechanismus rhnsdGreift auf Red Hat Network zu, erhält Benachrichtigungen, übermittelt Abonnements usw. rpcgssdVerwaltet den Client-Programmkontext beim NFS-Zugriff (Network File Systeam, Network File System) saslauthdTextbasierte Identitätsauthentifizierung smartdÜberwacht den Status der lokalen Festplatte und sendet Fehlerberichte smb-Dateifreigabedienst sshdBietet Remote-Anmelde- und Verwaltungsfunktionen für Linux-Hosts rsyslogZeichnet Kernel- und Systemprotokollinformationen auf vsftpdBietet Funktionen zum Hoch- und Herunterladen von Dateien über FTP (File Transfer Protocol, File Transfer Protocol)

Es muss betont werden, dass die Aktivierung oder Deaktivierung dieser Dienste auf Grundlage der tatsächlichen Funktionsanforderungen des Hosts bestimmt werden sollte. Wenn der aktuelle Linux-Host beispielsweise verwendet wird, um Dateifreigabedienste für das LAN bereitzustellen, sollte der SMB-Dienst aktiviert und nicht deaktiviert werden.

4. Automatische Startdienstverwaltung

Das Linux-Betriebssystem wechselt bei jedem Einschalten in das standardmäßige Systemd-Ausführungsziel (z. B. Zeichenmodus oder Grafikmodus) und führt verschiedene Systemdienste aus, die standardmäßig im Ziel gestartet werden. Wenn Sie die automatische Ausführung einiger Systemdienste deaktivieren möchten, können Sie sie mit den Tools ntsysv oder systemctl optimieren.

(1) Verwendung von ntsysv

Das Tool ntsysv kann im Zeichenmodus ausgeführt werden und bietet Benutzern eine grafische interaktive Bedienoberfläche, die speziell zum zentralen Konfigurieren des Startstatus verschiedener Systemdienste verwendet wird. Wenn Sie den Startstatus mehrerer Dienste gleichzeitig festlegen müssen, ist die Verwendung des Tools ntsysv sehr praktisch. Wenn der Befehl „ntsysv“ allein ausgeführt wird, wird er nur zum Verwalten der Dienste im aktuell ausgeführten Ziel verwendet. Mit der Option „--level“ können die Dienste im angegebenen ausgeführten Ziel (Level) verwaltet werden. Beispielsweise kann durch Ausführen des Befehls „ntsysv --level 35“ das Verwaltungsprogramm ntsysv geöffnet werden. Drücken Sie während des Betriebs die Pfeiltasten, um verschiedene Systemdienste auszuwählen. Drücken Sie die Leertaste, um den Standardstartstatus des Dienstes festzulegen ([*] bedeutet Starten, „[]“ bedeutet Herunterfahren). Wenn Sie die Beschreibungsinformationen des ausgewählten Dienstes anzeigen möchten, drücken Sie F1, um Hilfe zu erhalten

(2) Verwendung von systemctl

Das Tool systemctl hat ähnliche Funktionen wie ntsysv, aber systemctl bietet keine interaktive Bedienoberfläche. Es wird verwendet, um den Standardstartstatus von Systemdiensten abzufragen oder festzulegen. Wenn Sie den Standardstartstatus eines Dienstes im aktuell ausgeführten Ziel festlegen müssen, ist es effizienter, das Tool systemetl zu verwenden.

Es gibt drei allgemeine Optionen:

     Aktivieren: Das System beim Start automatisch starten. Deaktivieren: Das System beim Start automatisch herunterfahren. Aktivieren: Den Startstatus überprüfen.

Führen Sie den Befehl „systemctl list-units --type=service“ im aktuellen System aus, um alle aktivierten Systemdienste im aktuellen System anzuzeigen.

2. Serviceverwaltung

1. Firewall und Core-Schutz

Es wird normalerweise nicht empfohlen, die Firewall und den Kernschutz auszuschalten

Firewall-Betrieb

systemctl status firewalld.service Überprüfen des Firewall-Status systemctl stop firewalld Deaktivieren der Firewall systemctl start firewalld Aktivieren der Firewall systemctl disable firewalld Automatisches Deaktivieren der Firewall beim Start systemctl enable firewalld Automatisches Starten der Firewall beim Start

Kernschutzvorgänge

setenforce 0 deaktiviert vorübergehend den Selinux-Schutz, der nach einem Neustart oder Herunterfahren ungültig wird. vim /etc/sysconfig/selinux öffnet die Selinux-Datei „modify SELINUX=disable“, speichert und beendet und deaktiviert den Selinux-Schutz dauerhaft. vim /etc/selinux/config öffnet die Konfigurationsdatei „modify SELINUX=disable“, speichert und beendet und deaktiviert den Selinux-Schutz dauerhaft.

2. Zeitmanagement

Installieren Sie den ntpdate-Dienst

yum -y installiere NTP ntpdate

Einrichten der Zeitsynchronisierung mit dem Netzwerk

 ntpdate-Zeitserver (ntp1.aliyun.com, time.nist.gov, time.nuri.net)
hwclock --systohc Systemzeit auf Hardware schreiben (BIOS)
timedatectl Systemzeit anzeigen date Befehl zum Anzeigen der aktuellen Systemzeit von Centos

3. SSH-Dienst

SSH ist ein zuverlässiges Protokoll, das für die Sicherheit von Remote-Anmeldesitzungen und anderen Netzwerkdiensten entwickelt wurde. Das SSH-Protokoll kann Informationslecks während der Remoteverwaltung effektiv verhindern. Sie können Linux remote verwalten, indem Sie eine SSH-Verbindung herstellen. So aktivieren Sie SSH:

vim /etc/ssh/sshd_config

Entfernen Sie das #-Zeichen vor PasswordAuthentication und ändern Sie das #-Zeichen in yes

service ssh start SSH-Dienst starten netstat -anptu | grep sshd Prozessstatus des Dienstes anzeigen service ssh status SSH-Dienststatus überprüfen update-rc.d ssh enable SSH so einstellen, dass es beim Booten automatisch gestartet wird

Abschluss

Unterschiedliche Ziele stellen unterschiedliche Betriebszustände des Systems dar, und die aktivierten Dienste oder Programme sind ebenfalls unterschiedlich. Websites, E-Mail-Server usw. im Internet müssen beispielsweise nur im Textmodus ausgeführt werden, ohne grafische Desktopprogramme zu aktivieren.

Dies ist das Ende dieses Artikels über die detaillierte Einführung in die Linux-Systemkonfiguration (Dienststeuerung). Weitere relevante Inhalte zur Linux-Systemkonfiguration finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Härtungsmethode für Linux-Server-Betriebssysteme
  • So erstellen Sie Linux-Systemdienste

<<:  CSS3-Implementierungscode für den kreisförmigen Fortschritts-Tick-Effekt

>>:  Node.js löst das Problem verstümmelter chinesischer Zeichen in Clientanforderungsdaten

Artikel empfehlen

CSS zum Erzielen eines Chat-Blaseneffekts

1. Rendern JD-Effekt Simulationseffekt 2. Grundsa...

Linux entfernt node.js vollständig und installiert es über den Befehl yum neu

erster Schritt Einmaliges Löschen mit der integri...

Schritte zum Bereitstellen eines Spring Boot-Projekts mit Docker

Inhaltsverzeichnis Erstellen Sie ein einfaches Sp...

GET POST Unterschiede

1. „Get“ wird verwendet, um Daten vom Server abzu...

Ubuntu MySQL-Version auf 5.7 aktualisiert

Vor einigen Tagen teilte die Bibliothek mit, dass...

Verwenden des CSS-Loaders zum Implementieren des CSS-Moduls in Vue-CLI

【Vorwort】 Sowohl die modularen CSS-Lösungen von V...

So führen Sie MySQL mit Docker-Compose aus

Verzeichnisstruktur . │ .env │ docker-compose.yml...

Einführung in die Verwendung mehrerer spezieller Attribut-Tags in HTML

Die folgenden Attribute sind nicht sehr browserkom...

Detaillierte Analyse klassischer Fragen zu JavaScript-Rekursionsfällen

Inhaltsverzeichnis Was ist Rekursion und wie funk...

Vue3 AST Parser-Quellcode-Analyse

Inhaltsverzeichnis 1. Generieren Sie einen abstra...

So fügen Sie Tastenkombinationen in Xshell hinzu

Als nützlicher Terminalemulator wird Xshell häufi...