Sådan stoppes og deaktiveres uønskede tjenester fra Linux-systemet


Vi bygger en server i henhold til vores plan og krav, men hvad er de tilsigtede funktioner, mens vi bygger en server for at få den til at fungere hurtigt og effektivt. Vi ved alle, at nogle uønskede pakker og applikationer installeres automatisk, uden at brugeren kender det, mens man installerer et Linux OS.

Når vi bygger en server, skal vi spørge os selv, hvad vi faktisk har brug for fra kassen. Har jeg brug for en webserver eller en FTP-server, en NFS-server eller en DNS-server, en databaseserver eller noget andet.

Her i denne artikel vil vi diskutere nogle af disse uønskede applikationer og tjenester, som du muligvis ikke har brug for, men de er installeret som standard under OS-installationen og ubevidst begynder at spise dine systemressourcer.

Lad os først vide, hvilken type tjenester der kører på systemet ved hjælp af følgende kommandoer.

 ps ax
  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]
   .....

Lad os nu hurtigt se på de processer, der accepterer forbindelse (porte) ved hjælp af netstat-kommandoen som vist nedenfor.

 netstat -lp
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         
....

I ovenstående output bemærker du, at nogle af de applikationer, du muligvis ikke har brug for på din server, men de kører stadig som følger:

smbd og nmbd er dæmon for Samba Process. Har du virkelig brug for at eksportere smb-deling på Windows eller anden maskine. Hvis ikke! hvorfor kører disse processer? Du kan sikkert dræbe disse processer og deaktivere dem fra at starte automatisk, når maskinen starter næste gang.

Har du brug for tovejs interaktiv tekstorienteret kommunikation via internet eller lokalnetværk? Hvis ikke! dræb denne proces og sluk den fra start ved opstart.

Har du brug for at logge ind på en anden vært via netværk. Hvis ikke! Dræb denne proces, og deaktiver den fra at starte automatisk ved opstart.

Remote Process Execution aka rexec giver dig mulighed for at udføre shell-kommandoer på en fjerncomputer. Hvis du ikke har brug for at udføre shell-kommando på en ekstern maskine, skal du blot dræbe processen.

Har du brug for at overføre filer fra en vært til en anden vært over internettet? Hvis ikke kan du sikkert stoppe tjenesten.

Har du brug for at montere forskellige filsystemer automatisk for at åbne netværksfilsystem? Hvis ikke! Hvorfor kører denne proces? Hvorfor lader du denne applikation bruge din ressource? Dræb processen, og deaktiver den fra at starte automatisk.

Har du brug for at køre NameServer (DNS)? Hvis ikke, hvad der på jorden tvinger dig til at køre denne proces og tillade at spise dine ressourcer op. Dræb køringsprocessen først, og sluk den derefter for at køre den ved opstart.

lpd er printerdæmonen, der gør det muligt at udskrive til den server. Hvis du ikke har brug for at udskrive fra serveren, er chancerne for, at dine systemressourcer bliver spist op.

Kører du nogen inetd-tjenester? Hvis du kører stand alone-applikation som ssh, der bruger en anden stand alone-applikation som Mysql, Apache osv., Så har du ikke brug for inetd. bedre dræbe processen og deaktivere den automatisk fra næste gang.

Portmap, som er et åbent netværkscomputering Remote Procedure Call (ONC RPC) og bruger daemon rpc.portmap og rpcbind. Hvis disse processer kører, betyder det, at du kører NFS-server. Hvis NFS-serveren kører ubemærket, betyder det, at dine systemressourcer ikke nødvendigvis bliver brugt op.

Sådan dræbes en proces i Linux

For at dræbe en kørende proces i Linux skal du bruge kommandoen 'Kill PID'. Men før vi kører Kill-kommandoen, skal vi kende procesens PID. For eksempel vil jeg her finde en PID af 'cupsd' proces.

 ps ax | grep cupsd

1511 ?        Ss     0:00 cupsd -C /etc/cups/cupsd.conf

Så PID for 'cupsd' -processen er '1511'. For at dræbe denne PID skal du køre følgende kommando.

 kill -9 1511

For at finde ud af mere om kill-kommando med deres eksempler, skal du læse artiklen En guide til at dræbe kommando for at afslutte en proces i Linux

Sådan deaktiveres tjenester i Linux

I Red Hat-baserede distributioner som Fedora og CentOS skal du bruge et script kaldet 'chkconfig' for at aktivere og deaktivere de kørende tjenester i Linux.

Lad os f.eks. Deaktivere Apache-webserveren ved systemstart.

 chkconfig httpd off
 chkconfig httpd --del

I Debian-baserede distributioner som Ubuntu, Linux Mint og andre Debian-baserede distributioner bruger man et script kaldet update-rc.d.

For eksempel, for at deaktivere Apache-tjenesten ved systemstart skal du udføre følgende kommando. Her står '-f' for kraft er obligatorisk.

 update-rc.d -f apache2 remove

Efter at have foretaget disse ændringer, starter systemet næste gang uden disse UN-nødvendige processer, som faktisk vil gemme vores systemressource, og serveren ville være mere praktisk, hurtig, sikker og sikker.

Det er alt for nu. Jeg vil her igen med en anden interessant artikel. Indtil da hold dig opdateret og tilsluttet Tecmint. Glem ikke at give os din værdifulde feedback i kommentarsektionen.