So stoppen und deaktivieren Sie unerwünschte Dienste auf dem Linux-System
Wir bauen einen Server nach unserem Plan und unseren Anforderungen, aber welche Funktionen sollen beim Bau eines Servers vorgesehen sein, damit er schnell und effizient funktioniert? Wir alle wissen, dass bei der Installation eines Linux-Betriebssystems einige unerwünschte Pakete und Anwendungen automatisch und ohne Wissen des Benutzers installiert werden.
Wenn wir einen Server bauen, müssen wir uns fragen, was wir tatsächlich von der Verpackung benötigen. Benötige ich einen Webserver oder einen FTP-Server, einen NFS-Server oder einen DNS-Server, einen Datenbankserver oder etwas anderes.
In diesem Artikel besprechen wir einige dieser unerwünschten Anwendungen und Dienste, die Sie möglicherweise nicht benötigen, die jedoch standardmäßig während der Betriebssysteminstallation installiert werden und unwissentlich Ihre Systemressourcen beanspruchen.
Lassen Sie uns zunächst mit den folgenden Befehlen wissen, welche Art von Diensten auf dem System ausgeführt werden.
[avishek@tecmint]# ps ax
Beispielausgabe
PID TTY STAT TIME COMMAND
2 ? S 0:00 [kthreadd]
3 ? S 0:00 \_ [migration/0]
4 ? S 0:09 \_ [ksoftirqd/0]
5 ? S 0:00 \_ [migration/0]
6 ? S 0:24 \_ [watchdog/0]
7 ? S 2:20 \_ [events/0]
8 ? S 0:00 \_ [cgroup]
9 ? S 0:00 \_ [khelper]
10 ? S 0:00 \_ [netns]
11 ? S 0:00 \_ [async/mgr]
12 ? S 0:00 \_ [pm]
13 ? S 0:16 \_ [sync_supers]
14 ? S 0:15 \_ [bdi-default]
15 ? S 0:00 \_ [kintegrityd/0]
16 ? S 0:49 \_ [kblockd/0]
17 ? S 0:00 \_ [kacpid]
18 ? S 0:00 \_ [kacpi_notify]
19 ? S 0:00 \_ [kacpi_hotplug]
20 ? S 0:00 \_ [ata_aux]
21 ? S 58:46 \_ [ata_sff/0]
22 ? S 0:00 \_ [ksuspend_usbd]
23 ? S 0:00 \_ [khubd]
24 ? S 0:00 \_ [kseriod]
.....
Werfen wir nun einen kurzen Blick auf die Prozesse, die Verbindungen (Ports) mit dem Befehl „netstat“ akzeptieren, wie unten gezeigt.
[avishek@tecmint]# netstat -lp
Beispielausgabe
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:31138 *:* LISTEN 1485/rpc.statd
tcp 0 0 *:mysql *:* LISTEN 1882/mysqld
tcp 0 0 *:sunrpc *:* LISTEN 1276/rpcbind
tcp 0 0 *:ndmp *:* LISTEN 2375/perl
tcp 0 0 *:webcache *:* LISTEN 2312/monitorix-http
tcp 0 0 *:ftp *:* LISTEN 2174/vsftpd
tcp 0 0 *:ssh *:* LISTEN 1623/sshd
tcp 0 0 localhost:ipp *:* LISTEN 1511/cupsd
tcp 0 0 localhost:smtp *:* LISTEN 2189/sendmail
tcp 0 0 *:cbt *:* LISTEN 2243/java
tcp 0 0 *:websm *:* LISTEN 2243/java
tcp 0 0 *:nrpe *:* LISTEN 1631/xinetd
tcp 0 0 *:xmltec-xmlmail *:* LISTEN 2243/java
tcp 0 0 *:xmpp-client *:* LISTEN 2243/java
tcp 0 0 *:hpvirtgrp *:* LISTEN 2243/java
tcp 0 0 *:5229 *:* LISTEN 2243/java
tcp 0 0 *:sunrpc *:* LISTEN 1276/rpcbind
tcp 0 0 *:http *:* LISTEN 6439/httpd
tcp 0 0 *:oracleas-https *:* LISTEN 2243/java
....
In der obigen Ausgabe stellen Sie fest, dass einige der Anwendungen, die Sie möglicherweise nicht auf Ihrem Server benötigen, aber dennoch wie folgt ausgeführt werden:
1. SMBD und NMBD
smbd und nmbd sind Daemons des Samba-Prozesses. Müssen Sie die SMB-Freigabe wirklich auf Windows oder einen anderen Computer exportieren? Wenn nicht! Warum laufen diese Prozesse? Sie können diese Prozesse sicher beenden und verhindern, dass sie beim nächsten Maschinenstart automatisch gestartet werden.
2. Telnet
Benötigen Sie bidirektionale interaktive textorientierte Kommunikation über das Internet oder ein lokales Netzwerk? Wenn nicht! Beenden Sie diesen Prozess und verhindern Sie, dass er beim Booten startet.
3. rlogin
Müssen Sie sich über das Netzwerk bei einem anderen Host anmelden? Wenn nicht! Beenden Sie diesen Prozess und verhindern Sie, dass er beim Booten automatisch gestartet wird.
4. rexec
Mit der Remote Process Execution, auch bekannt als rexec, können Sie Shell-Befehle auf einem Remote-Computer ausführen. Wenn Sie keinen Shell-Befehl auf einem Remote-Computer ausführen müssen, beenden Sie den Prozess einfach.
5. FTP
Müssen Sie Dateien über das Internet von einem Host auf einen anderen Host übertragen? Wenn nicht, können Sie den Dienst bedenkenlos beenden.
6. Automount
Müssen Sie verschiedene Dateisysteme automatisch mounten, um das Netzwerkdateisystem aufzurufen? Wenn nicht! Warum läuft dieser Prozess? Warum erlauben Sie dieser Anwendung, Ihre Ressource zu nutzen? Beenden Sie den Prozess und verhindern Sie, dass er automatisch startet.
7. benannt
Müssen Sie NameServer (DNS) ausführen? Wenn nicht, was um alles in der Welt zwingt Sie dazu, diesen Prozess durchzuführen und zuzulassen, dass Ihre Ressourcen verschwendet werden? Beenden Sie zuerst den laufenden Prozess und deaktivieren Sie dann die Ausführung beim Booten.
8. lpd
lpd ist der Druckerdämon, der das Drucken auf diesem Server ermöglicht. Wenn Sie nicht vom Server aus drucken müssen, besteht die Möglichkeit, dass Ihre Systemressourcen aufgebraucht werden.
9. Inetd
Führen Sie irgendwelche inetd-Dienste aus? Wenn Sie eine eigenständige Anwendung wie SSH ausführen, die andere eigenständige Anwendungen wie MySQL, Apache usw. verwendet, benötigen Sie inetd nicht. Beenden Sie den Prozess besser und deaktivieren Sie ihn, damit er beim nächsten Mal automatisch startet.
10. Portmap
Portmap ist ein Open Network Computing Remote Procedure Call (ONC RPC) und verwendet die Daemons rpc.portmap und rpcbind. Wenn diese Prozesse ausgeführt werden, bedeutet dies, dass Sie einen NFS-Server ausführen. Wenn der NFS-Server unbemerkt läuft, werden Ihre Systemressourcen unnötig beansprucht.
So beenden Sie einen Prozess unter Linux
Um einen laufenden Prozess unter Linux zu beenden, verwenden Sie den Befehl „Kill PID“. Bevor wir jedoch den Kill-Befehl ausführen, müssen wir die PID des Prozesses kennen. Hier möchte ich zum Beispiel eine PID des Prozesses „cupsd“ finden.
[avishek@tecmint]# ps ax | grep cupsd
1511 ? Ss 0:00 cupsd -C /etc/cups/cupsd.conf
Die PID des Prozesses „cupsd“ lautet also „1511“. Um diese PID zu beenden, führen Sie den folgenden Befehl aus.
[avishek@tecmint]# kill -9 1511
Um mehr über den Kill-Befehl mit seinen Beispielen zu erfahren, lesen Sie den Artikel A Guide to Kill Command to Terminate a Process in Linux
So deaktivieren Sie einen Dienst unter Linux
Verwenden Sie in Red Hat-basierten Distributionen wie Fedora und CentOS ein Skript namens „chkconfig“, um die laufenden Dienste unter Linux zu aktivieren und zu deaktivieren .
Deaktivieren Sie beispielsweise den Apache-Webserver beim Systemstart.
[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del
Verwenden Sie in Debian-basierten Distributionen wie Ubuntu, Linux Mint und anderen Debian-basierten Distributionen ein Skript namens update-rc.d.
Um beispielsweise den Apache-Dienst beim Systemstart zu deaktivieren, führen Sie den folgenden Befehl aus. Hier steht die Option „-f“ für zwingend erforderliche Gewalt.
[avishek@tecmint]# update-rc.d -f apache2 remove
Nachdem Sie diese Änderungen vorgenommen haben, wird das System das nächste Mal ohne diesen UN-notwendigen Prozess booten, was tatsächlich unsere Systemressourcen spart und der Server praktischer, schneller, sicherer und geschützter wäre.
Das ist alles für den Moment. Ich melde mich noch einmal mit einem weiteren interessanten Artikel. Bleiben Sie bis dahin auf dem Laufenden und bleiben Sie mit Tecmint in Verbindung. Vergessen Sie nicht, uns Ihr wertvolles Feedback im Kommentarbereich mitzuteilen.